Авторизация:

Скрипт - закачка файлов

Поиск

Найти сообщения:  За сутки  |  Без ответов
Автор Сообщение
Ссылка05.08.2008 в 13:33
Вот скрипт для закачки файлов с локалного компьютера на сервер :
Файл upload.html
<html>
Код:
<head>
<title>Загрузка файлов на сервер</title>
</head>
<body>
<h2><p><b> Форма для загрузки файлов </b></p></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
</body>
</html>

Файл upload.php
Код:
<html>
<head>
<title>Результат загрузки файла</title>
</head>
<body>

<?php
if($_FILES["filename"]["size"] > 1024*100*1024)
{
echo ("Размер файла превышает три мегабайта");
exit;
}

if(copy($_FILES["filename"]["tmp_name"],"temp/".$_FILES["filename
"]["name"]))

{
echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($_FILES["filename"]["name"]);
echo("<br>Размер файла: ");
echo($_FILES["filename"]["size"]);
echo("<br>Каталог для загрузки: ");
echo($_FILES["filename"]["tmp_name"]);
echo("<br>Тип файла: ");
echo($_FILES["filename"]["type"]);
}

else

{
echo("Ошибка загрузки файла");
}
?>

</body>
</html>


Помогите пожалуйста переделать этот скрипт так чтобы файлы можно было загружать не с локального ПК на сервер а с другого сайта на этот сервер т.е чтоб просто вставить ссылку на скачиваемый файл который находится на кокомнибуть сайте и он загрузился на этот сервер.
Ссылка05.08.2008 в 13:39
Во первых надо забыть про существование данного скрипта
во вторых: почитать про сокеты, фтп
Ссылка05.08.2008 в 13:49
Оффтопик:
стесняюсь спросить, а зачем тут сокеты (ну ФТП еще как то связан с загрузкой файлов)...
Ссылка05.08.2008 в 14:10
Может fopen/open подойдет?
Ссылка05.08.2008 в 14:16
В функцию copy можно передавать сразу урл.
Например: copy('http://site1.ru/file.rar','/home/mysite.ru/uploaded_files/')

Естественно, что бы пользователь смог ввести урл нужно в форме input поставить типа text, а не file
Ссылка05.08.2008 в 15:09
Цитата (Skyter):
В функцию copy можно передавать сразу урл.
Например: copy('http://site1.ru/file.rar','/home/mysite.ru/uploaded_files/')

Естественно, что бы пользователь смог ввести урл нужно в форме input поставить типа text, а не file


Я сделал copy("file/er01.exe","temp/") т.е попробовал со своего же сайта скопировать просто в другую директорию. И вышла ошибка :
Warning: copy(temp/) [function.copy]: failed to open stream: Is a directory in /var/www/plemayshk/main/htdocs/upload.php on line 14
Ссылка05.08.2008 в 15:45
Copy("file/er01.exe","temp/file01.exe")
Ссылка06.08.2008 в 13:33
Цитата:
if($_FILES["filename"]["size"] > 1024*100*1024)
{
echo ("Размер файла превышает три мегабайта");
exit;
}

Не три а сто =)
Ссылка06.08.2008 в 14:23
+ учесть докачку в случае хоть малейшего разрыва.

а вообще ftp, либо побайтово читаем, пишем. не забывая, естественно, про запись состояния чтения, чтобы если что - восстановить.

а про этот код: присоединюсь к автору выше - "забыть". забыть касаемо данной цели.