Upload на сервер не работает.

Upload на сервер не работает.

На локале все О.К. А вот закачал на сервак и пошли проблемы. Сначало было так:copy(): open_basedir restriction in effect. File(/tmp/phpU89mh2) is not within the allowed path(s):
Это я исправил. Прописал директорию для темп. файла - в логи (на серваке папка).
Скрипт:
$uploaddir ='/hosting/clients/###.ru/httpd/htdocs/admin/';
if (copy($_FILES['userfile']['/hosting/clients/###.ru/httpd/logs/tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print($_FILES['userfile']['name']);
print($_FILES['userfile']['type']);
print($_FILES['userfile']['size']);
} else {
print "Ошибка загрузки файла!\n";
print_r($_FILES);
}
Выходит такой вот фикус, т.к. загрузка не состоялась:
Array(
[userfile] => Array
(
[name] => Top20.csv
[type] => application/octet-stream
[tmp_name] => /tmp/phpU89mh2
[error] => 0
[size] => 762
)
)
И нифига..
 
$uploaddir ='/hosting/clients/###.ru/logs/';
if (copy($_FILES['userfile']['/hosting/clients/###.ru/logs/tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
$filename = $_FILES['userfile']['tmp_name'];
move_uploaded_file($filename, '/hosting/clients/###/httpd/htdocs/top20.csv');

и нифига..
по идее в папку с логами темп. файл можно сохранять?
 

Frol

Новичок
$_FILES['userfile']['/hosting/clients/###.ru/httpd/logs/tmp_name'] -- ужас... что это???
 

confguru

ExAdmin
Команда форума
Смотри man [m]move_uploaded_file[/m]

if(!move_uploaded_file($_FILES["userfile"]["tmp_name"],
rawurlencode($mydir.$_FILES["userfile"]["name"]))
{
echo "Something is wrong with the file";
exit;
}


P.S. Временный файл хранится в
$_FILES["userfile"]["tmp_name"],
 
$mydir="/phpdev/www/E-FM/";
if(!move_uploaded_file($_FILES['userfile']['tmp_name'], $mydir.$_FILES['userfile']['name']))

на локалхосте с такими настройкми работает. Меняю директорию, кидаю на сервак - не работает.
 

Krisha

pain in the neck
Александр-HIMиk
Учитесь отлаживать свои программы, понятие "не работает" нам ни о чем не говорит. И вам, думаю, тоже.

Читать [m]upload[/m]

P.S. Включите вывод ошибок. Проверте права на папку, куда пытаетесь делать аплоад и убедитесь в правильности пути.
 
Угу. точно. Права на диры. В темп папку upload'ид. Теперь бы умудриться закачивать в сами документы. А можно как-нить проставить права на закачивание с пом-ю PHP. Т.е. у меня закачка работает только из под админа, как бы сделать так, чтобы можно было закачать именно туда, куда нужно.
 
В яблочко. Зашел, поставил, заработало. Спасибо за линк. Спасибо главному хирургу за пример использования move_uploaded_file().
 
Сверху