PHP copy () создает пустой файл изображения - PullRequest
1 голос
/ 20 февраля 2012

У меня есть одно изображение в каталоге на моем сервере, и я хочу скопировать его в другой каталог.

Поэтому я использую

$post_picture = 'http://mysite.com/image.jpg';

copy($post_picture, 
         'images/pictures/post/thumb/' . 
         $info['filename'] . 
         '_thumb.' . 
         $info['extension']);

Проблема в том, что на самом делеФайл создан в моей директории thumb, но это изображение пустое (0 x 0 пикселей).Я не получаю ошибок.

Есть идеи, что происходит?

Разрешения для всех папок - 755, для оригинала и для копии - 644. Исходное изображение обычно отображается в браузере.

Спасибо.

Ответы [ 5 ]

3 голосов
/ 20 февраля 2012

Есть ли у вас какая-либо форма защиты по горячим ссылкам, которая может изменить то, что получает php?Разрешен ли allow_url_fopen?

1 голос
/ 20 февраля 2012

Переменная $post_picture должна , вероятно иметь путь файловой системы к файлу, а не URL к файлу.

0 голосов
/ 20 февраля 2012

Пожалуйста, используйте этот ...

<?php
$source = 'f-1/2.jpg';
$destination = 'f-2/2.jpg';

$data = file_get_contents($source);

$handle = fopen($destination, "w");
fwrite($handle, $data);
fclose($handle);
?>
0 голосов
/ 20 февраля 2012

$ post_picture должен быть локальным путем, я верю

copy( '/path/image.jpg', ... );
0 голосов
/ 20 февраля 2012

В вашем php.ini установлено значение allow_url_fopen, равное true?

Иногда это может привести к такому результату, если удаленные соединения блокируются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...