Автор Тема: Как можно с помощью php скопировать файл с удалённого сервака? Не для ламаков :)  (Прочитано 4424 раз)

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

Оффлайн Vip

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 32
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Собственно сабж!
Как можно скопировать удалённый файл с помощью php на тот сервак где находится сам скрипт, соответственно при его исполнении. Такое возможно?
*_*

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Vip

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 32
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Ман это конечно хорошо, я его уже пытался читать но что то не вкупился.
file, fopen, fread вроде хорошо получается с текстовыми страницами и файлами работать. А мне если нужно zip, exe ...?
fsockopen, socets это через сокет а если мне нужно получить файл с фтп?
curl хм... это нужно почитать, но такой вариант может не прокатить вдруг эту библиотеку провайдер не поддерживает?
*_*

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Цитировать

fsockopen, socets это через сокет а если мне нужно получить файл с фтп?

ага - это через модем делается...
Цитировать

но что то не вкупился.

неплохо бы вкупиться... иначе тебе уже ничто не поможет...

тебе Макс на все уже ответил.
AS IS...

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Цитировать
а если мне нужно получить файл с фтп?

http://php.net/ftp :)
через сокеты с ftp можно работать также как и с http (где-то в сети даже классы были)

Цитировать
А мне если нужно zip, exe ...?


<?
$a fopen("php.exe""rb");
$content fread($a10000000);
fclose($a);
$b fopen("php1.exe""wb");
fputs($b$content);
fclose($b);
?>

у меня все отлично работает. Работа с удаленными файлами отличаться не должна ИМХО
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Vip

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 32
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Цитировать
ага - это через модем делается...

Насмешил :). Это делается для того чтоб трафик с экономить и для сайта.
Цитировать
неплохо бы вкупиться... иначе тебе уже ничто не поможет...

спасибки Макс, вкупился .
Цитировать
через сокеты с ftp можно работать также как и с http

Буду иметь в виду.

Может кому понадобится, моё вкупление :)
Способом CURL
$url = "http://linux.tomsk.ru/powered_by_t.gif";
$file = basename($url);
$ch = curl_init ();
$fp = fopen ("test/$file", "w");
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
Способом через FTP
$ftp_server = "linux.tomsk.ru";
$ftp_user = "anonymous";
$ftp_pass = "anonymous";
$file = "/pub/Linux/Web/cvsweb-1.93.tar.gz";
$connect = ftp_connect("$ftp_server");
$login = ftp_login($connect, "$ftp_user", "$ftp_pass");
$get = ftp_get($connect, "test/test.tar.gz", "$file", FTP_BINARY);
ftp_quit($connect);

А что быстрее работает curl или fopen?
И возможно с такой ссылки например скачать(каким нибудь из этих методов) host.ru/download.php?file=2 ?
*_*

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Цитировать
А что быстрее работает curl или fopen?

1. Дык возьми и измерь (функции для измерения если сам не хочеш писать есть на php.spb.ru)
2. В данном случае ИМХО это не так важно, так как основная часть уйдет на получени файла из сети.

Цитировать
И возможно с такой ссылки например скачать(каким нибудь из этих методов) host.ru/download.php?file=2 ?
А что, первым методом скачать не получается ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

 

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