Форумы портала PHP.SU » Разное » Обсуждение статей » как залить файл через форму на файлообменник

Страниц (1): [1]
 

1. Proff86 - 12 Мая, 2011 - 21:04:42 - перейти к сообщению
В связи с нехваткой свободного места на сервере возникла заливать файлы юзеров на narod.ru. Вернее на сайт размещенный на народе http://www[dot]lmi113[dot]narod[dot]ru
вот пример моего скрипта:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. function upload($file) {
  3. //ограничение размера
  4.    if($file["size"] > 100*1024*1024)
  5.    {
  6.      $s="Размер файла превышает сто мегабайт, попробуйте <a href=download_lmi113.php>снова</a>";
  7.      exit;
  8.    }
  9. //проверка загрузки в temp
  10.    if(is_uploaded_file($file["tmp_name"])) {
  11. //копирование на народ...
  12.    copy($file['tmp_name'], "http://lmi113.narod.ru/files/lmi_school/".$file["name"]);
  13.    $s="Файл <strong>".$_FILES['filename']['name']."</strong>, размером <strong>".($_FILES['filename']['size']/1024)."</strong> килобайт, успешно загружен на сервер.</p>";
  14.    }
  15.    else { $s="Ошибка при загрузке, попробуйте <a href=download_lmi113.php>снова</a>"; exit(); }
  16.    return ($s);
  17.    
  18.    }
  19. /////////////////////////////////////////////////////////
  20. //проверка для вывода формы
  21. if ( !isset( $_POST["do"] ) ){
  22.  
  23.       echo '<form action="" method="post" enctype="multipart/form-data" name="form1">
  24.   <p>Выберите файл для размещения на сервер </p>
  25.   <p><input type="file" name="filename" /></p>
  26.   <p>Нажмите кнопку загрузить: </p>
  27.   <p>
  28.   <input name="do" type="submit" value="Загрузить" />
  29.   </p>
  30.   </form>';
  31.  
  32.        }
  33. //данные были отправлены, загружаем файл...
  34.        else {
  35.                 echo upload($_FILES['filename']);
  36. }

В результате выводит сообщение:
Цитата:
Файл iscusstvo_otkrivaet.doc, размером 62 килобайт, успешно загружен на сервер.

Но файл в итоге не грузится...
Кто подскажет в чем причина?
путь lmi113.narod.ru/files/lmi_school/ точно существует...
P.S. комментарии могут быть битыми, писал уже тут...
2. OrmaJever - 12 Мая, 2011 - 21:10:11 - перейти к сообщению
Proff86 пишет:
PHP:
скопировать код в буфер обмена
  1.   copy($file['tmp_name'], "http://http://lmi113.narod.ru/files/lmi_school/".$file["name"]);

по протоколу http файлы не загружаются
3. Proff86 - 12 Мая, 2011 - 21:15:32 - перейти к сообщению
точно, не подумал Недовольство, огорчение
а как можно обойти это??
или есть может быть готовые решения??
4. Мелкий - 12 Мая, 2011 - 21:22:35 - перейти к сообщению
На народе есть FTP, PHP умеет FTP http://php.su/functions/?cat=ftp

Только обратите внимание: http://help[dot]yandex[dot]ru/narod/?id=1112763
Цитата:
2. Размер одного файла не должен превышать 10 МБ.
5. OrmaJever - 12 Мая, 2011 - 21:24:37 - перейти к сообщению
я вижу 2 варианта:
1) на том хостинге создайте скрипт для загрузки с локальными путями, а в тот скрипт передавайте пост запрос curl-ом.
2) Там же должен быть ftp? заливать через ftp ftp_*
6. Proff86 - 12 Мая, 2011 - 21:32:05 - перейти к сообщению
Спасибо, почитаю про фтп...
И на курл можно ссылочку? надо же как-то развиваться)
7. Мелкий - 12 Мая, 2011 - 21:35:17 - перейти к сообщению
OrmaJever пишет:
1) на том хостинге создайте скрипт для загрузки с локальными путями, а в тот скрипт передавайте пост запрос curl-ом.

на народе только статика, никаких серверных скриптов нет, так что не поможет.
Да и разве на народе не 100мб места дают? Вообще, поможет такое?
8. Proff86 - 13 Мая, 2011 - 20:35:37 - перейти к сообщению
Там место "резиновое" как я понял, по достижении порога по объему, его (порог) увеличивают....да и не в народе дело, а в принципе работы...
Вариантов 2, спасибо вам ребят за советы

 

Powered by ExBB FM 1.0 RC1