Загрузка файла через FTP через веб-интерфейс - PullRequest
0 голосов
/ 25 мая 2011

Еще раз, мне нужна очень полезная помощь экспертов :) Я пытаюсь использовать PHP-функции PHP для загрузки файла на сервер через веб-форму. Я потратил день на поиск в Google для простого урока, но большинству кажется,ожидать определенного уровня понимания процесса.Итак, я нашел пример, который, я считаю, сработает за меня, но я, честно говоря, не понимаю, как придумать путь ftp?

Вот сценарий целиком (я нашел его в TechРеспублика)

<?
// get FTP accessparameters
$host = "<URL of site>";
$user = "user@<URL of site>";
$pass = "<PASSWORD>";
$destDir= "www/uploads/files/";
$workDir= "/usr/local/temp"; // define this as perlocal system
// get temporary file namefor the uploaded file
$tmpName= basename($_FILES['ufile']['tmp_name']);
// copy uploaded file intocurrent directory
move_uploaded_file($_FILES['ufile']['tmp_name'], $workDir."/".$tmpName) or die("Cannot move uploaded file toworking directory");
// open connection
$conn= ftp_connect($host) or die ("Cannot initiate connection tohost");
// send access parameters
ftp_login($conn,$user, $pass) or die("Cannot login");
// perform file upload
$upload = ftp_put($conn, $destDir."/".$_FILES['ufile']['name'], $workDir."/".$tmpName, FTP_BINARY);
// check upload status
// display message
if (!$upload) {
    echo "Cannotupload";
} else {
    echo "Uploadcomplete";
}
// close the FTP stream
ftp_close($conn);
// delete local copy ofuploaded file
unlink($workDir."/".$tmpName) or die("Cannot delete uploaded filefrom working directory -- manual deletion recommended");
?>

В настоящее время происходит сбой с «Не удается переместить загруженный файл в рабочий каталог» - поэтому я предполагаю, что путь указан неверно.Когда этот конкретный пользователь подключается через ftp, его домашний каталог - «файлы».

Я ценю совет.

Ответ ниже

У меня естьза работой.Поскольку домашний каталог пользователей - это «файлы», он потребовал, чтобы внутри этого каталога было еще два каталога с именами «файл» и «временный», и я изменил приведенный выше код следующим образом: -

$destDir= "files";
$workDir= "temp";

и нашел примерстрока подключения ftp для обратной работы, чтобы код генерировал правильный формат.Легко, когда знаешь как!

1 Ответ

0 голосов
/ 22 июля 2011

у меня это работает.Поскольку домашний каталог пользователей - это «файлы», он потребовал, чтобы внутри этого каталога было еще два каталога с именами «файл» и «временный», я изменил приведенный выше код следующим образом: -

$destDir= "files";
$workDir= "temp";

и нашел примерстрока подключения ftp для обратной работы, чтобы код генерировал правильный формат.Легко, когда знаешь как!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...