абсолютно.
Я не уверен, почему вы используете ftp_site (). Вы отправляете загруженный файл по FTP на другой сервер или просто пытаетесь создать форму для загрузки, которая загружается на тот же компьютер, на котором находится файл php?
Предполагая, что вы работаете над выгрузкой на сервер, на котором выполняется скрипт, есть несколько вещей. Убедитесь, что пользователь, на котором работает ваш веб-сервер (httpd, apache, lighttpd или аналогичный), имеет доступ на запись к $ uploadPath. Для этого вы можете использовать chmod 0777, но это небезопасно, поскольку любой пользователь в системе может теперь писать в эту папку, и мы хотим, чтобы только Apache мог это делать. Свяжитесь со мной по http://yaauie.com/me, если вам нужна помощь в настройке этой части; Я не уверен, насколько комфортно вы находитесь в командной строке и не хотите перегружать вас jibberjabber
Вот несколько быстрых процедурных кодов, которые могут помочь вам найти причину; Направьте свою форму загрузки на этот скрипт для проверки.
<?php
// Set the upload path
$uploadPath = realpath('./images/thumbs/');
// test to see if the upload path is a directory that is writable
if(is_dir($uploadPath) && is_writable($uploadPath)) {
// create the full path for the end result file
$uploadFile = $uploadPath.basename($_FILES['userfile']['name']);
// try to move the uploaded file
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadFile)) {
echo 'Sucessfully moved file to "'.$uploadFile.'"';
} else {
echo 'Directory is writable, but we could not move the uploaded file to it.';
}
} else {
echo 'Either "'.$uploadPath.'" is not a directory, or it is not writable.';
}
?>