За последние 24 часа нас посетили 64289 программистов и 1754 робота. Сейчас ищут 969 программистов ...

CURL – загрузка файла на сервер.

Тема в разделе "PHP для новичков", создана пользователем skrippt, 23 май 2016.

  1. skrippt

    skrippt Новичок

    С нами с:
    7 апр 2016
    Сообщения:
    8
    Симпатии:
    0
    Здравствуйте, у меня вопрос по загрузки фала CURLом

    Итак у нас есть форма


    Код (Text):
    1. <html>
    2. <head>
    3.    <title>Загрузка файлов на сервер</title>
    4. </head>
    5. <body>
    6.       <h2><p><b> Форма для загрузки файлов </b></p></h2>
    7.       <form action="upload.php" method="post" enctype="multipart/form-data">
    8.       <input type="file" name="filename"><br>
    9.       <input type="submit" value="Загрузить"><br>
    10.       </form>
    11. </body>
    12. </html>



    и сам php обработчик

    Код (Text):
    1.  
    2. <html>
    3. <head>
    4.  <title>Результат загрузки файла</title>
    5. </head>
    6. <body>
    7. <?php
    8.  if($_FILES["filename"]["size"] > 1024*3*1024)
    9.  {
    10.  echo ("Размер файла превышает три мегабайта");
    11.  exit;
    12.  }
    13.  // Проверяем загружен ли файл
    14.  if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
    15.  {
    16.  // Если файл загружен успешно, перемещаем его
    17.  // из временной директории в конечную
    18.  move_uploaded_file($_FILES["filename"]["tmp_name"], "/path/to/file/".$_FILES["filename"]["name"]);
    19.  } else {
    20.  echo("Ошибка загрузки файла");
    21.  }
    22. ?>
    23. </body>
    24. </html>

    Как с помощи curl реализовать автоматическую загрузку файла?
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    PHP:
    1. $url = "http://site.com/xxx.zip";
    2. $file = "download/yyy.zip";
    3.  
    4. $dest_file = fopen($file, "w");
    5. $resource = curl_init();
    6.  
    7. // устанавливаем опцию удаленного файла
    8. curl_setopt($resource, CURLOPT_URL, $url);
    9.  
    10. // устанавливаем место на сервере, куда будет скопирован удаленный файл
    11. curl_setopt($resource, CURLOPT_FILE, $dest_file);
    12.  
    13. // заголовки нам не нужны
    14. curl_setopt($resource, CURLOPT_HEADER, 0);
    15.  
    16. curl_exec($resource);
    17. curl_close($resource);
    18.  
    19. fclose($dest_file);
     
  3. skrippt

    skrippt Новичок

    С нами с:
    7 апр 2016
    Сообщения:
    8
    Симпатии:
    0
    Вы меня не правильно поняли, мне нужно автоматически загружать файл пост запросом на чужой сервер. Есть хостинг фоток, мне нужно загрузить туда фотографию.
    Не подскажете как реализовать?
     
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    ну смотря каким образом загрузка происходит там.
    вообще ты берешь ссылку на данный файл у себя и отправляешь пост запрос на соответствующею страницу этого хостинга, если там можно загружать по ссылке.. если оно будет принимать ссылку http и если.. что там будет еще требовать, как то так.
    а вообще посмотри может у них есть API
    --- Добавлено ---
    возможны наверное еще варианты, я описал тот, который пришел в голову.
     
  5. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    что ты называешь "загружать автоматически"?
    --- Добавлено ---
    если ты собираешься загружать файл на сторонний сайт (надеюсь, автор этого сайта в курсе) - тебе вообще не нужет php обработчик. Просто отправляешь сразу и всё...