Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z tworzeniem miniaturek - zapisywany plik jpg jest plikiem webp
ciekawski
post 31.07.2014, 06:46:23
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 29.05.2007

Ostrzeżenie: (0%)
-----


Hej, mam problem z tworzeniem miniaturek. Tworzę jest za pomocą GD.

Proces wygląda mniej więcej tak:

1. Upload zdjęcia.
2. Sprawdzenie funkcją getimagesize rozmiaru - w celu weryfikacji poprawności uploadu.
3. Zeskalowanie zdjęcia do największego możliwego rozmiaru.
4. Wyświetlenie zdjęcia.
5. Skopiowanie zdjęcia w docelowe zdjęcie.
6. Stworzenie miniaturki.

W którymś momencie następuje jednak problem - dość nietypowy - tak mi się wydaje. Udaje się bowiem oryginalne zdjęcie zeskalować do maksymalnego rozmiaru, potem wyświetlić, następnie zdjęcie jest przenoszone w docelowy folder, po czym już jest błąd przy tworzeniu miniaturki.
Dziwne natomiast jest to, że polecenie file dla tego pliku zwraca:

Kod
RIFF (little-endian) data


Gdzie dla innych obrazków jpg zwraca np.

Kod
JPEG image data, JFIF standard 1.01, comment: "CREATOR: gd-jpeg v1.0 (using IJ"


Dziwne są też pierwsze znaki w pliku:

Kod
RIFF��^A^@WEBPVP8X


Co może sugerować jakiś format webp - tylko dlaczego się tak mogło stać - czy ktoś się z takim czymś spotkał może?

Jak się okazuje:

1. W systemie operacyjnym pliku nie idzie otworzyć bo zawiera błąd
2. Po zmianie rozszerzenia z jpg na webp otwiera się poprawnie w chrome
3. Po zrobieniu konwertowania online dostaję poprawny jpg



I jeszcze jedna kwestia:

"Uszkodzone" obrazki pochodzą z jednego okresu czasu - kilku dni - do głowy przychodzi mi jakiś moduł na serwerze np. google page speed - ale czy on mógłby zmienić plik na serwerze?

Ten post edytował ciekawski 31.07.2014, 06:43:38
Go to the top of the page
+Quote Post
by_ikar
post 31.07.2014, 10:27:56
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


webp jest to format kompresji grafiki jakiś czas temu wypuszczony przez google, który cechuje się lepszą kompresją przy tej samej jakości w porównaniu do jpg. Od niedawna jest też możliwość animacji, kanałów alpha etc. Cóż, grafika raczej otworzy ci się w programach które mają zaimplementowaną obsługę tego formatu, a z racji że jest to całkiem nowy format i ogólnie w kwestii grafiki od dekad nic się nie zmieniło, to praktycznie nikt nic nowego nie implementuje.. W GD jest imagewebp którym możesz wyświetlić lub zapisać obrazek w ów formacie. To jest tak jak z zapisywaniem do jpg, png, czy gif. Sprawdzasz rozszerzenie/mime i używasz do tego odpowiedniej funkcji, bo przecież nie zapiszesz gifa imagejpeg co jest oczywiste. Stąd te błędy.

Ten post edytował by_ikar 31.07.2014, 10:34:06
Go to the top of the page
+Quote Post
ciekawski
post 31.07.2014, 10:38:03
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 29.05.2007

Ostrzeżenie: (0%)
-----


racja, tylko ja się zastanawiam jakim cudem ten obrazek się za pierwszym razem zeskalował skoro ja tego nie obsługiwałem i dlaczego ktoś wrzucając obrazek jpg wrzucił tego webp - co ciekawe problem ten był przez 2 dni, a potem ustąpił - może to przypadek i ten sam user - choć biorąc pod uwagę mała popularność formatu ciekawe dlaczego ten user nim dysponował.
Go to the top of the page
+Quote Post
by_ikar
post 31.07.2014, 13:20:38
Post #4





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Przez jakiś czas facebook testował ten format i wyświetlał ludziom losowo ten obrazek. O ile sam facebook był zadowolony, to ludzie nie, bo nie wiedzieli co dalej zrobić z obrazkiem. Tzn zapisywali go, ale nie mieli czym otworzyć i czym przerobić. No i z tego co wiem to google serwuje na wszystkich swoich stronach tam gdzie może i temu komu może obrazki właśnie w webp. Prawdopodobnie sprawdzasz w swoim skrypcie tylko po rozszerzeniu (co się prosi o nadużycia) a powinieneś po mime sprawdzać i jeżeli byłby to typ którego nie obsługujesz, poinformować o tym użytkownika w odpowiedni sposób.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 07:35