Readfile работает с одним изображением, но не с другим

У меня есть приведенный ниже код для отображения изображений через https, но по какой-то причине он работает с большинством изображений, а с нечетным - нет.

Код приведен ниже

<?php

//This one works
//$file = "http://i.ebayimg.com/00/s/NDEwWDY0MA==/$%28KGrHqJ,!pQFBWf4uEThBQkO-TbjYw~~60_12.JPG";

//This one doesnt
$file = "http://i.ebayimg.com/00/s/NDgwWDY0MA==/$T2eC16JHJIYE9qUcNbMwBQroE+MgEQ~~60_1.JPG";

ob_clean();
header('Content-type: image/jpg');
echo readfile($file);

Как вы можете видеть, это базовый скрипт, первый файл (тот, который в настоящее время закомментирован) будет работать нормально, но второй файл не будет существовать и будет выглядеть почти идентичным.


person user1639745    schedule 28.11.2012    source источник
comment
Попробуйте заменить двойные кавычки одинарными, чтобы избежать интерполяции $variable.   -  person ash108    schedule 28.11.2012


Ответы (1)


Используйте одинарные ' кавычки, и вам также не нужны echo при использовании readfile

$file = 'http://i.ebayimg.com/00/s/NDgwWDY0MA==/$T2eC16JHJIYE9qUcNbMwBQroE+MgEQ~~60_1.JPG';

ob_clean();
header('Content-type: image/jpg');
readfile($file);

Посмотреть демоверсию

person Baba    schedule 28.11.2012