Функция ftp_put () не будет загружать мой файл

0

Я уже искал эту ошибку в google и нашел много сообщений с этого сайта, но ничего не работает. вот мой от:

<form enctype="multipart/form-data" action="upload_file.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
    Choose a file to upload: <input name="uploadedfile" type="file" /><br />
    <input type="submit" value="Upload File" />
</form>

и вот мой php-код из upload_file.php

<?php
$ftp_server = "xxx";
$ftp_username   = "xxx";
$ftp_password   =  "xxx";
$uploadedfile = $_FILES["uploadedfile"]["tmp_name"];
//setup of connection
$conn_id = ftp_connect($ftp_server) or die("could not connect to $ftp_server");
//login
if(@ftp_login($conn_id, $ftp_username, $ftp_password))
{
  echo "conectd as $ftp_username@$ftp_server\n";
}
else
{
  echo "could not connect as $ftp_username\n";
}
ftp_pasv($conn_id, true);
$remote_file_path = "   /home/a9408563/public_html/files".$uploadedfile;
ftp_put($conn_id, $remote_file_path, $uploadedfile,FTP_BINARY);
ftp_close($conn_id);
echo "\n\nconnection closed";
?>

и это ошибка, которую я получаю: Предупреждение: ftp_put() [function.ftp-put]: Не удается открыть этот файл: нет такого файла или каталога в /home/a9408563/public_html/upload_file.php в строке 18

я понятия не имею, что делать дальше, и любая помощь будет очень оценена!

Теги:
ftp

2 ответа

0

Здесь ответ из комментариев php.net на ftp_put:


Нашел проблему, вы не можете поместить путь к целевому файлу (хотя я могу сделать это в клиенте dos ftp...?)

например - это не работает

ftp_put($conn, '/www/site/file.html','c:/wamp/www/site/file.html',FTP_BINARY);

вы должны положить

ftp_chdir($conn, '/www/site/');
ftp_put($conn,'file.html', 'c:/wamp/www/site/file.html', FTP_BINARY );

http://php.net/manual/en/function.ftp-put.php

  • 0
    поэтому я изменил это на следующее: ftp_chdir ($ conn_id, '/ home / a9408563 / public_html / files /'); ftp_put ($ conn_id, $ uploadedfile, "/home/a9408563/public_html/files".$uploadedfile, FTP_BINARY); но это все еще не работает
-1
<?php
    if(isset($_POST["submit"])){
// set up basic connection
$conn_id = ftp_connect("xxx"); 
$ftp_user_name="xxx";
$ftp_user_pass="xxx";
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 
$destination_file =  $destination_file = "public_html/api/".$_FILES['uploadedfile']['name'];
$source_file = $_FILES['uploadedfile']['tmp_name']; 
// check connection
if ((!$conn_id) || (!$login_result)) { 
    echo "FTP connection has failed!";
    echo "Attempted to connect to $ftp_server for user $ftp_user_name"; 
    exit; 
} else {
    echo "Connected to $ftp_server, for user $ftp_user_name";
}
// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); 

// check upload status
if (!$upload) { 
    echo "FTP upload has failed!";
} else {
    echo "Uploaded $source_file to $ftp_server as $destination_file";
}

// close the FTP stream 
ftp_close($conn_id); 
    }
?>
<html><body><form action="upload.php" enctype="multipart/form-data" method="post">
<input name="uploadedfile" type="file" />
<input name="submit" type="submit" value="Upload File" />
</form></body></html>


api is my target folder

Ещё вопросы

Сообщество Overcoder
Наверх
Меню