PDA

Bekijk de volledige versie : php-thttpd и загрузка файлов



Pasechnick
10-09-2007, 13:43
Здравствуйте,
Решил приделать к сайту загрузку файлов.
Откровенно говоря, в пхп я ни черта не понимаю =)
Взял простенький скрипт.


<?php

$uploaddir = '/opt/share/www/***/arch/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}

echo 'Here is some more debugging info:';
print_r($_FILES);

print "</pre>";

?>

Как видно, создал папку arch. Её сделал 0777.
В пхп.ини сделал временную для загрузок файлов /tmp. Пробовал и дугие (/opt/tmp).
После нажатия на кнопку загрузки появляется пустое окно.
Файлы не загружаются.
Объясните, пожалуйста, где и почему?
Уже третий день вожусь.

Pasechnick
14-09-2007, 09:50
Поставил lighttpd заместо thttpd.
Теперь стало лучше, но по прежнему не работает.

Possible file upload attack!
Here is some more debugging info:Array
(
[uploadfile] => Array
(
[name] => macosxlogo.gif
[type] => image/gif
[tmp_name] => /tmp/phpnfWd95
[error] => 0
[size] => 2829
)

)

Mam(O)n
14-09-2007, 11:01
Этот вопрос выходит за рамки этого форума...

Но все же. У тебя в форме наверное <input name="uploadfile" а не userfile. Тогда:


<?php

$uploaddir = '/opt/share/www/t.wroom.thruhere.net/arch/';
$uploadfile = $uploaddir . basename($_FILES['uploadfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}

echo 'Here is some more debugging info:';
print_r($_FILES);

print "</pre>";

?>

Pasechnick
14-09-2007, 12:30
спасибо огромное!
что-то глуп я больно =)