Michael65
18.09.2011, 15:17:21
Witam,
co robię źle, że ciągle mi wyskakuje komunikat: "Obrazek ?http://codra.pl/test/img.php? nie może zostać wyświetlony, ponieważ zawiera błędy."

Próbuję i nic ciągle.
<?php
$data = file_get_contents('http://img09.allegroimg.pl/photos/128x96/18/18/16/82/1818168286');
$im = imagecreatefromstring($data);
if ($im !== false) {
header('Content-Type: image/jpeg'); imagejpeg($im);
imagedestroy($im);
}
else {
echo 'An error occurred.'; }
?>
Fifi209
18.09.2011, 15:20:22
Nawet nie dałeś
headera, który powie przeglądarce co to będzie (np. obrazek i jaki jpeg/image ?)
Poza tym pobierasz niby obrazek, ale brak file_get_contents
Michael65
18.09.2011, 15:32:04
Hedera dałem przecież.
Dodałem :
$data = file_get_contents('http://img09.allegroimg.pl/photos/128x96/18/18/16/82/1818168286');
ale nadal nie działa.
peter13135
18.09.2011, 15:43:27
Michael65
18.09.2011, 15:48:50
też próbowałem i nie działa :/
jak zrobić, żeby można obrazek wczytać z linku?
q3trm
3.03.2013, 13:29:57
Odkopuje temat.
Mam ten sam problem z biblioteką GD2, próbuje wyświetlić na localhost, jak i na serwerze online taki skrypt:
<?php
header('Content-type: image/png'); $figure = imagecreatetruecolor(400, 30);
$color_blue = imagecolorallocate($figure,255,255,255);
imagefill($figure, 0, 0, $color_blue);
imagepng($figure);
?>
extension=php_gd2.dll - jest bez komentarza w php.ini.
Obrazek (ścieżka pliku) nie może zostać wyświetlony, ponieważ zawiera błędy.
�PNG
���
IHDR����������߇����IDATx���A
� �0����?��U����,���;���a�d�aX@�a�d�aX@�a�d�aX@�a�d�aX@�a�d�aX@�a�d�aX@�a�d�aX@��i9��N�����IEND�B`�
Co jeszcze mogę zrobić?
_Borys_
3.03.2013, 17:02:39
Ustaw error_reporting na pokazywanie błędów, zakomentuj header i zobacz jakie błędy wyrzuca.
q3trm
3.03.2013, 22:45:56
Ustawiłem error_reporting(E_ALL), za komentowałem header i o to rezultat:
�PNG IHDR��߇�IDATx���A �0���?��U����,���;�a�d�aX@�a�d�aX@�a�d�aX@�a�d�aX@�a�d�aX@�a�d�aX@�a�d�aX@��i9��N�IEND�B`�
Właściwie, to się niczym nie różni od ww. opisu błędu.
Czy to coś wyjaśnia?
mstraczkowski
3.03.2013, 22:50:51
Twój przykład na moim serwerze działa, więc uważam, że to coś z konfiguracją twojego serwera.
q3trm
4.03.2013, 09:49:22
sprawdzałem na dwóch serwerach z takim samym rezultatem

. Co mogłem przeoczyć w konfiguracji?
StrefaPi
4.03.2013, 09:55:52
a kodowanie samego skryptu php? utf-8 without BOM, czy coś?
q3trm
4.03.2013, 11:47:26
UTF-8 stosuję. Sprawdzałem na ANSII, ale to samo wychodzi.
nospor
4.03.2013, 12:29:47
Chodzi o utf-8 bez BOM
mstraczkowski
4.03.2013, 12:41:11
Wydaje mi się, że nospor oraz StrefaPi trafili w dziesiątkę i to dobry trop, bo to w pełni uzasadnione jeżeli wkradł ci się BOM
rocktech.pl
4.03.2013, 12:53:31
Witam.
Jeszcze jedna ważna sprawa:
<?php
//Nie
header('Content-type: image/png'); //Tylko
header('Content-Type: image/png');
StrefaPi
4.03.2013, 13:05:49
rocktech.pl dobrze zauważył, sprawdziłem na niektórych konfiguracjach, może nie działać prawidłowo ten header ;)
mstraczkowski
4.03.2013, 13:06:26
@up Według RFC2616 nie ważna jest wielkość znaków, a jeżeli przeglądarka ma z tym problem to jest słabą przeglądarką.
Przynajmniej ja nie odnotowałem takich przypadków, jeżeli macie jakiś przykład chętnie obejrzę.
StrefaPi
4.03.2013, 13:08:10
ale użytkownik ma wolną wole i może używać czego chce (nie koniecznie to co mu się narzuca)
mstraczkowski
4.03.2013, 13:10:11
Specyfikacje protokołów powstały po to, aby się ich trzymać i każdy wyłam powoduje komplikacje
q3trm
4.03.2013, 23:31:43
Cytat(mstraczkowski @ 4.03.2013, 12:41:11 )

Wydaje mi się, że nospor oraz StrefaPi trafili w dziesiątkę i to dobry trop, bo to w pełni uzasadnione jeżeli wkradł ci się BOM
Nie wkradł się BOM.
Cytat(rocktech.pl @ 4.03.2013, 12:53:31 )

Witam.
Jeszcze jedna ważna sprawa:
<?php
//Nie
header('Content-type: image/png'); //Tylko
header('Content-Type: image/png');
Poprawiłem i niestety bez rezultatów
"Obrazek zawiera błędy" :nerdsmiley:Where?
http://ideone.com/5Zm5V1Dokładnie tak jak mówią moi przedmówcy dodał Ci się
BOM bo jak dodałem dla testu BOM do dokumentu to mam :
?PNG IHDR????IDATx?

A ?0?

?

?U?

?,

?;??a?d?aX@?a?d?aX@?a?d?aX@?a?d?aX@?a?d?aX@?a?d?aX@?a?d?aX@??i9??N?IEND?B`?
czyli to samo co Ty

Jednakze żeby to potem wyelimnować stwórz nowy plik i skopiuj kod, bo tak mimo próby usunięcia BOM on tego nie robi(przynajmniej w moim przypadku)
StrefaPi
5.03.2013, 08:44:28
w windows Notepad++ konwertuje prawidłowo
Menu > Encoding > Convert to UTF-8 without BOM
w Mac OS X Text Wrangler jest ok
w tym programie wystarczy w oknie edycji (na dolnym pasku) wybrać sposób kodowania z listy
q3trm
5.03.2013, 09:26:41
Mam program
Notepad++ i ustawiony domyślny wybór kodowania na
UTF-8. Używam WampServer Version 2.2, do tego korzystam z usług hostingowych
http://www.000webhost.com/, i na żadnym ten skrypt nie działa poprawnie.
nospor
5.03.2013, 09:27:40
Ale czy ustsawiasz UTF-8 bez BOM?? Ciągle ci o BOM piszemy, a Ty ciągle w swoich postach to ignorujesz....
q3trm
5.03.2013, 10:45:54
Teraz się przyjrzałem dokładnie kodowaniu, i miałem samo UTF-8, myślałem, że to jest bez BOM

. Dokanałem konwersji na UTF-8 bez BOM, nie pomogło. Utworzyłem nowy plik z ustawionym kodowaniem
UTF-8 bez BOM, przerzuciłem skrypt i wszystko śmiga

.
Dziękuje za rzetelną pomoc.
@ StrefaPi owszem zawsze tak to sie normalnie robi, sam korzystam z n++, jednakże tu akurat konwersja na bez BOM nie pomogła i nadal wyświetlał to tak jakby on był mimo iż już go nie było
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.