Как скопировать файл с сервера на сервер?

(Ответов: 5, Просмотров: 1973)
  1. Дипломник
    • Регистрация: 12.07.2012
    • Сообщений: 111
    • Репутация: 9
    Допустим мне надо скачать mp3 файл по прямой ссылке с сервера. Как мне это сделать?
    • 0
  2. Banned
    • Регистрация: 22.05.2011
    • Сообщений: 129
    • Репутация: 23
    можно на php небольшой скриптик написать. примера сейчас нет. если никто не подскажет, вечером скину
    Последний раз редактировалось 24list; 24.07.2012 в 10:42.
    • 0
  3. Студент
    • Регистрация: 27.11.2011
    • Сообщений: 54
    • Репутация: 12
    Rayzor, я использую этот вариант:
    Код:
    define('BASEPATH', str_replace('\\', '/', dirname(__FILE__)) . '/'); # путь до каталога с исполняемым файлом
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://img.yandex.net/i/www/logo.png'); # файл, который надо получить с удаленного сервера
    curl_setopt($ch, CURLOPT_TIMEOUT, 300);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
    $st = curl_exec($ch);
    $fd = @fopen(BASEPATH . 'img333.jpg', "w"); # название файла на этом сервере
    fwrite($fd, $st);
    @fclose($fd);
    
    curl_close($ch);
    • 1

    Спасибо сказали:

    Rayzor(26.07.2012),
  4. Дипломник
    • Регистрация: 12.07.2012
    • Сообщений: 111
    • Репутация: 9
    24list вообще то я про php и спрашиваю. music спасибо за твой вариант. Не понял только со строкой с fopen'ом. Получается ты на сервере заводишь картинку, сливаешь курлом нужную картинку и записываешь нужную в свою? А с музыкой видео разве такое сработает?
    А что такое BASEPATH и зачем @ перед fopen?
    • 0
  5. Студент
    • Регистрация: 27.11.2011
    • Сообщений: 54
    • Репутация: 12
    Rayzor, fopen с флагом w пытается создать файл с указанным именем на сервере. Если передать в функцию BASEPATH . 'img333.mp3', а curl'ом качать не лого Яндекса, а, например, mp3 файл c контакта ( _http://cs1278.userapi.com/u5140311/audio/2ac54c189686.mp3 ), то на сервере сохраниться именно аудиозапись. С видео аналогичная ситуация.

    BASEPATH - постоянная, которая хранит в себе путь до корня сайта. Например /var/www/mysite.ru/public_html/ . В моем примере использована исключительно для удобства.
    @ - служит для подавления вывода ошибок. В ней здесь нет необходимости.
    • 0
  6. Студент Аватар для FaNiska
    • Регистрация: 29.09.2011
    • Сообщений: 31
    • Репутация: 1
    Rayzor, можно просто

    PHP код:
    <?php
    $url_to_file 
    'http://site.ru/dir/music.mp3'// путь до мп3 файла
    $path 'mp3_files/'// папка рядом со скриптом, куда сохранится мп3 файл

    copy($url_to_file$path.'music.mp3');
    ?>
    На хостинге должны быть включены внешние соединения, а папка для сохранения файлов должна иметь права на запись (777).
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Скопировать адрес гиперссылки
Вопросы от новичков 3 18.06.2012 18:38
webasyst скопировать шаблон
Web программирование 0 07.05.2012 14:08
Как быстро перенести файлы с сервера на сервер
Дайджест блогосферы 5 14.02.2011 00:52
24-Hoster Solutions - Виртуальный хостинг, VPS сервера, Выделенные сервера
Хостинг, сервера, домены 0 10.08.2010 23:24

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры