Автор Тема: Копирование файла с чужого сервака %)  (Прочитано 4971 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн .Sm@sH.

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 30
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.cs-mapping.com.ua
Мне нужно сделать такой скрипт, который через простую форму получает ссылку на файло с другого сайта (типа, http://www.somehost.com/img/foto.jpg) и копирует его мне на сервак в заранее определенную папку.

Так конечно-же ничего не получается:

// Скрипт получает переменную $url с URL файла
copy($url"мой путь");


В след. случае скрипт работает, но данные конечно-же записывает совсем не так как нужно (ведь это не текст уже...):


$url 
"http://www.somehost.com/img/foto.jpg";
$f fopen($url"r");
$myf fopen("dir/file.jpg""w");
fwrite($myffread($f100000));
fclose($myf);
fclose($f);


Короче, можно ли такое вообще реализовать?:confused:
URL: http://www.cs-mapping.com.ua
E-mail: smash@cs-mapping.com.ua

Оффлайн Tankist

  • Типа на танке
  • Старожил
  • ****
  • Сообщений: 461
  • +0/-0
  • 2
    • Просмотр профиля
Копирование файла с чужого сервака %)
« Ответ #1 : 20 Июня 2002, 00:41:04 »
Можно:))
$file=file("http://lreal.km.ru");
Теперь в переменной $file(array по поему должен получиться)
Главная страница lreal.km.ru:)
А далее что угодно делай с это $file...
Удачи

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Копирование файла с чужого сервака %)
« Ответ #2 : 20 Июня 2002, 01:08:56 »
в примере к функции fsockopen тоже есть решение.

Оффлайн Tankist

  • Типа на танке
  • Старожил
  • ****
  • Сообщений: 461
  • +0/-0
  • 2
    • Просмотр профиля
Копирование файла с чужого сервака %)
« Ответ #3 : 20 Июня 2002, 02:02:41 »
Цитировать
в примере к функции fsockopen тоже есть решение.


$fp 
fsockopen ("www.example.com"80$errno$errstr30);
if (!
$fp) {
    echo 
"$errstr ($errno)
\\n"
;
} else {
    
fputs ($fp"GET / HTTP/1.0\\r\\nHost: [url]www.example.com\\r\\n\\r\\n[/url]");
    while (!
feof($fp)) {
        echo 
fgets ($fp,128);
    }
    
fclose ($fp);
}

Думаю ты об этом говоришь?
« Последнее редактирование: 20 Июня 2002, 02:11:20 от Tankist »
Удачи

Оффлайн .Sm@sH.

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 30
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.cs-mapping.com.ua
Копирование файла с чужого сервака %)
« Ответ #4 : 20 Июня 2002, 10:03:44 »
Да нет... не в том проблема...
Что ерез file() или через fsockopen() - не пашет... А знаете почему? Мне-же нужно фало прочитать, а потом записать себе на сервак... А fwrite() и fputs() работают только ч текстовыми файлами, а не с двочными (как например ЖэПэГЭ (Jpg))
URL: http://www.cs-mapping.com.ua
E-mail: smash@cs-mapping.com.ua

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Копирование файла с чужого сервака %)
« Ответ #5 : 20 Июня 2002, 12:12:39 »
Гонишь.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Копирование файла с чужого сервака %)
« Ответ #6 : 20 Июня 2002, 12:16:19 »
.Sm@sH.
[OFF]reinstall ruki.sys[/OFF]
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Ardzhan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 205
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ardzhan.km.ru
Копирование файла с чужого сервака %)
« Ответ #7 : 20 Июня 2002, 13:23:32 »
Из оффициального руководства!
fwrite -- Binary-safe file write
fwrite -- бинарная запись в файл
Цитировать
fwrite($myf, fread($f, 100000));

Откуда ты знаешь, что размер файла именно такой?
Хочешь грузить весь файл, лучше используй функцию file() - она загоняет весь файл в массив, а потом записывай массив!
P.S. Может все это не работать, если на хостинге закрыты исходящие коннекты (на многих бесплатных именно так)

Оффлайн .Sm@sH.

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 30
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.cs-mapping.com.ua
Копирование файла с чужого сервака %)
« Ответ #8 : 20 Июня 2002, 13:46:07 »
Вот мой код:


<?php
$url 
"http://www.cs-mapping.com.ua/images/screens/de_ska1.jpg";
$file fopen($url"r");
$myfile fopen("copy.jpg""w");
$all fread($file100000);
echo(
$all); // Тут рисунок выводится как нужно
fwrite($myfile$all); // А тут записывается неправильно!!!
fclose($myfile);
fclose($file);
?>


Вот оригинал рисунка (точно так-же он и выводится echo() в скрипте:



А вот как он записывается в файл:



Что скажете на это?
URL: http://www.cs-mapping.com.ua
E-mail: smash@cs-mapping.com.ua

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Копирование файла с чужого сервака %)
« Ответ #9 : 20 Июня 2002, 14:25:05 »
.Sm@sH.
Цитировать
не пашет... А знаете почему?

Потому что вы не читаете ФАКИ !
RTFM


Цитировать
Note: The mode may contain the letter \'b\'. This is useful only on systems which differentiate between binary and text files (i.e. Windows. It\'s useless on Unix). If not needed, this will be ignored.

The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Копирование файла с чужого сервака %)
« Ответ #10 : 20 Июня 2002, 14:25:31 »
PS:


<?php
$url 
"http://www.cs-mapping.com.ua/images/screens/de_ska1.jpg";
$file fopen($url"r");
$myfile fopen("copy.jpg""wb");// RTFM
$all fread($file100000);
echo(
$all); // Тут рисунок выводится как нужно
fwrite($myfile$all); // И тут записывается правильно!!!
fclose($myfile);
fclose($file);
?>
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн .Sm@sH.

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 30
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.cs-mapping.com.ua
Копирование файла с чужого сервака %)
« Ответ #11 : 20 Июня 2002, 15:06:26 »
Да тормознул я - совсем забыл про binary (\'b\')

Кстати, RTFM это знаит (READ THE FUCKING MANUAL) или (READ THE FOLLOWING MANUAL)? :D
URL: http://www.cs-mapping.com.ua
E-mail: smash@cs-mapping.com.ua

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28