Вопрос по upload в php

verhmax
На сайте с 01.12.2005
Offline
191
5042

Добрый день. я вот не сильно могу разобраться с функцией upload.

меня интерисует такой вариант:

мне необходимо чтоб скрипт закачал себе на сервер файл. а файл берётся с другого сайта, тоесть чтоб я смог указать только адрес файла и чтоб оно закачало.

Просто трафик ограничен, а так смогу закачать файл себе на Украину, а потом выкачать на комп:-(

dantess
На сайте с 06.11.2004
Offline
133
#1

open или curl юзайте

verhmax
На сайте с 01.12.2005
Offline
191
#2

у меня вот такой скрипт:

index.php :

<form enctype="multipart/form-data" action="2.php" method="post">

<input type="hidden" name="MAX_FILE_SIZE" value="10000">

Send this file: <input name="userfile" type="file">

<input type="submit" value="Send File">

</form>

2.php :

if (move_uploaded_file($_FILES['userfile']['tmp_name'], dirname(__FILE__)."/".$_FILES['userfile']['name'])) {

echo "Ok!";

} else {

echo "Possible file upload attack. Filename: " . $_FILES['userfile']['name'];

}

При выборе с компа, всё нормально грузит. при вводе адреса файла с другого сервера закачивает пустой файл:-(

[Удален]
#3
verhmax:
При выборе с компа, всё нормально грузит. при вводе адреса файла с другого сервера закачивает пустой файл

Потому что этот скрипт и не должен удаленные файлы грузить...

verhmax
На сайте с 01.12.2005
Offline
191
#4

а вообще есть возможность грузить удалённые файлы? и как мне это организовать?

Mmonger
На сайте с 01.12.2005
Offline
165
#5

Читайте тут: http://www.php.net/manual/ru/function.fopen.php

Первый же пример:

<?PHP

$fileurl=$_POST['fileurl'];
$filename=$_POST['filename'];
$destination="/home/usr/upload/".$filename;
if(!empty($fileurl) && !empty($filename)){
$fp = @fopen($fileurl, 'rb');
$contents = "";
do {
$data = fread($fp, 8192);
if (strlen($data) == 0) {
break;
}
$contents .= $data;
} while (true);
fclose($fp);
$tp = @fopen($destination, 'wb');
fwrite($tp, $contents);
fclose($tp);
}
?>

Вообще, всячески рекомендую пользоваться мануалом, тем более что для PHP он с примерами.

Всё будет хорошо, но мы приложим усилия!
[Удален]
#6
Mmonger:
Вообще, всячески рекомендую пользоваться мануалом, тем более что для PHP он с примерами.

Золотые слова, странно что далеко не все так думают...

verhmax
На сайте с 01.12.2005
Offline
191
#7

Mmonger, а что тут куда? как оно работает и о то я не сильно понял этот код:-(

Mmonger
На сайте с 01.12.2005
Offline
165
#8
verhmax:
Mmonger, а что тут куда? как оно работает и о то я не сильно понял этот код:-(

$fileurl=$_POST['fileurl'];

$filename=$_POST['filename'];

Это переменные с урлом и именем файла. Берутся из массива post-переменных. Cделайте форму с двумя полями ввода и именами fileurl и filename.

$destination="/home/usr/upload/".$filename; 

Это адрес, где будет располагаться файл.

verhmax
На сайте с 01.12.2005
Offline
191
#9

Mmonger, сдела, работает, но файл получается нулевой:-( может где-то ошибка, а может с хостингом что-то?

sun
На сайте с 22.10.2005
Offline
81
sun
#10

$file = file_get_contents('url_файла');

$file записываете себе в файл.

Ман почитайте пл fopen

на серваке ставите и будет вам счастье

devmen.com (http://devmen.com/)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий