tuxx: fpc для того, чтобы показать, что и он не работает в данном случае.
Результат error_get_last:
Array
(
[type] => 8
[message] => Undefined offset: 6
[file] => /usr/lib/php/head.php
[line] => 90
)
Если файл не создается, значит нет прав записи на директорию, где лежит скрипт (в случае запуска из браузера, файл будет создаваться в той же директории). Если права на запись есть, то файл должен быть создан в любом случае, только пустой будет. Чтобы проверить, что отдает file_get_contents - сделайте вывод перед записью.
Дмитрий: Не работает. Вот что в данный момент у меня в коде:
$url = 'img'.$server[1].'.goodfon.ru/original/1920x1200'.$resp[1].'.jpg';
file_put_contents('tmpimg.jpg', file_get_contents($url));
echo file_get_contents($url);
echo $url;
Ответ от сервера: img2.goodfon.ru/original/1920x1200/f/20/kotlety-ke...
И все, то есть выводит только $url, а file_get_contents($url) не выводит ничего.
Arti Markelov: очевидно дело в этой функции file_get_contents, возможно она запрещена на вашем хостинге, но ошибка не выводится... После вызова этой функции код будет выполняться, если дописать какое-нибудь echo простое?
Дмитрий: Будет, но функция явно не запрещена. Ни file_get_contents, ни copy, ибо создав отдельный скрипт который будет просто писать что-то через fgc -- всё будет работать. (
Arti Markelov: проверил от себя - картинка отдается через file_get_contents(). Мистики не бывает. Если функция не запрещена, если вы получаете результат в виде данных, если работает file_put_contents, которая создает файл, то почему тогда она пишет туда "ничего" ? Может быть у вас криво формируется URL картинки в скрипте? Создайте отдельный скрипт из одной строки, напишите туда то, что я написал в ответе и проверьте.
Дмитрий: И Вы говорите, что мистики не бывает? :) После создания отдельного файла, сохранения его и запуска попробовал запустить свой основной код -- и бац, работает)
Arti Markelov: а после создания отдельного файла и запуска основного кода - между этими действиями вы стирали файл созданной картинки? Вполне возможно, что ваш основной код ее не затронул просто.
Дмитрий: Кстати, вам бы проверить путь, по которому происходит попытка создать картинку. Может быть ваш основной скрипт (код) пытается писать не туда, куда вы предполагаете?
Дмитрий: Нет, не стирал. До этого я пробовал удалять файл с картинкой, но это не помогало.
Картинка пишется так же в один и тот же корневой каталог(public_html) с идентичным названием. Ну, вроде как сейчас все работает, спасибо.
Потому что Вы сначала копируете эту картинку, а потом командой file_put_contents этот файл перезаписываете, записывая внутрь url картинки. Уберите file_put_contents совсем, он здесь не нужен.
Ну и вывод ошибок включить не помешало бы: phpfaq.ru/debug