html — загрузить файл, используя FTP и переполнение стека

Я не могу загрузить файл с помощью php, потому что я не могу отправить путь, полученный из файла html, в функцию FTP_PUT, потому что он принимает только строку «test.txt»

Как я могу отправить Путь к этой функции

PHP ФАЙЛ

$file = $_POST["file"];

// upload file
if (ftp_put($ftp_conn, $file, $file, FTP_BINARY))
{
echo "Successfully uploaded $file.";
}
else
{
echo "Error uploading $file.";
}

// close connection
ftp_close($ftp_conn);

HTML-файл

    

<div class="container">

<div class="row">
<div class="col-lg-12">
<form class="well" action="Upload.php" method="post" >
<div class="form-group">
<label for="file">Select a file to upload</label>
<input type="file" name="file" id="file">

<!-- <p class="help-block">Only jpg,jpeg,png and gif file with maximum size of 1 MB is allowed.</p> -->
</div>
<input type="submit" class="btn btn-lg btn-primary" value="Upload">
</form>
</div>
</div>
</div>

0

Решение

использование $_FILES["file"]["tmp_name"] вместо $_POST["file"]

редактировать:

$file = $_FILES["file"]["tmp_name"];
$file_name = $_FILES["file"]["name"];

// upload file
if (ftp_put($ftp_conn, $file_name, $file, FTP_BINARY))

или переместите загруженный файл первым:

$target_path = "uploads/".basename($_FILES["file"]["name"]);
move_uploaded_file($_FILES["file"]["tmp_name"], $target_path);
1

Другие решения

Измените тег формы на:

<form class="well" action="Upload.php" method="post"  enctype="multipart/form-data">

Если вы не включите

enctype="multipart/form-data"

Ничто не будет загружено!

0

Убедитесь, что путь правильный … Я не знаю вашу файловую структуру, поэтому я думаю, вам нужен полный путь, попробуйте …

 if (ftp_put($ftp_conn, getcwd().$file, $file, FTP_BINARY)
0
По вопросам рекламы [email protected]