Как скопировать jpg-файл?

Frenk

Guest
Как скопировать jpg-файл?

Есть файл, лежит на ДРУГОМ хосте:
$file='http://www.имя.com/1.jpg';
Как его скопировать на свой хост?
Пробую так:
$f=imagecreatefromgif($file);
imagegif($f,'foto/f.jpg');
Не получается...
 

не не

Guest
copy("http://www.имя.com/1.jpg","твой_путь/1.jpg");
 

Frenk

Guest
Не хочет!
Пишет
Unable to open "путь к файлу" for reading: Invalid argument in ...
 

Frenk

Guest
Пробовал еще так делать :

$size = GetImageSize($file);
echo $size[3];
Прекрасненько выводит его размер

readfile($file); - просто выводит его в браузер, а вот СКОПИРОВАТЬ к себе как?
 

Frenk

Guest
Ну че, спецы?!!
Неужели влом ответить?
 

не не

Guest
Не хочет!
Пишет
Unable to open "путь к файлу" for reading: Invalid argument in ...
ну так вместо "путь к файлу" нужно написать твой локальный адрес и имя файла jpg
например c:/temp/1.jpg
 

Frenk

Guest
Да нет. Он это про исходный файл пишет (http://www.имя.com/1.jpg) . Он ведь не у меня лежит.
Хотя файл существует и все такое.
 

не не

Guest
Да нет. Он это про исходный файл пишет (http://www.имя.com/1.jpg) . Он ведь не у меня лежит.
Хотя файл существует и все такое.
так чё он выводит? напиши полностью выдаваемую ошибку
 

Frenk

Guest
OK!
Делаю так:
copy('http://www.minsktam.com/img/1.jpg','tamnews/1.jpg');
Выводит вот что -
Warning: Unable to open 'http://www.minsktam.com/img/1.jpg' for reading: Invalid argument in x:\home\minsktam.com\www\robot-f.php on line 14
 

не не

Guest
проблема в том что он неможет приконектиться к серваку, скорее всего это по тому что у тебя freeware или в настройках php или апача чёнить нето
 

Frenk

Guest
Ну-ну.
Пробовал я его на сервак заливать, от туда запускать.
Ничего не пишет, но и не копирует ничего. Директория указанная пуста. Хотя все права и т.д. выставленны как надо, проверял!
Ну так что, есть соображения?
 

Frenk

Guest
Да куда все запропастились? Неужели некому помочь?
 

не не

Guest
попробуй вот так:
$f=fopen("http://www.minsktam.com/img/1.jpg","r");
$read=fread($f,"100000");
fclose($f);
$f=fopen("test.jpg","w");
fwrite($f,$read);
fclose($f);
 

Frenk

Guest
Вроде получилось, создал он файл test.jpg, но просмотр недоступен, не могу посмотреть его, не открывается ничем, не говоря уж о брайзере...
 

не не

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

Frenk

Guest
Прикол - когда я описанным выше способом копирую файл, указанный в примере - копирует, но цвета коверкает жутко, а вот когда пытаюсб скопировать другой (он в брайзере отлично открывается) - фиг - просмотр недоступен вааще.
 

Frenk

Guest
Инет нормальный!
Попробуй прочитать этот - http://www.mignews.com/aimages/09_02/080902_61432_30099_1.jpg
 

Frenk

Guest
Все! Спать пошел. Будут соображения - пишите, очень помощь нужна. Подозреваю, что делать надо все-же так, как я в начале пытался -

$file='http://www.имя.com/1.jpg';
$f=imagecreatefromgif($file);
imagegif($f,'foto/f.jpg');

Но вот где тут ошибка?
 

grayangel

равновесник
Всем привет!


Действительно, copy() не работает с удаленными файлами (закоменнтированные строчки). Поэтому пришлось вот так:

PHP:
<?php

//if (copy("http://pics.rbc.ru/img/ver99/nrbctop1.gif","e:\temp\rbctest.gif"))
//    print "Ok!";
//else
//    print "Error!";

$img = "http://pics.rbc.ru/img/ver99/nrbctop1.gif";
$f = fopen($img,"r") or die("Не могу открыть $img");
$contents = fread ($f, 65535);
$fw = fopen("e:\\temp\\test.gif","w") or die("Не могу создать выходной файл");
fwrite($fw,$contents);
fclose($f);
fclose($fw);

?>
Не забудьте - в имени выходного файла - по два слеша, просто форум слопал одну ;-)
 
Сверху