php - 用 post 发送文件,然后用 ftp 上传
问题描述
这是一个非常基本的问题,因为我没有正确理解不同协议的基本概念。请放纵。
我可以使用 Filezilla 通过 FTP 将文件上传到我的站点。现在我正在开发一个用户界面,用于发送数据以更新数据库和要保存在目录中的文件(照片)。POST
我用(见这里)发送这些数据。我得到文件,但无法将其保存到执行的目标目录
move_uploaded_file($_FILES['PhotoToUpload']['tmp_name'],"../../Photos/".$file_name);
我认为是因为权限(目前是 755)。由于我目前可以使用 Filezilla FTP 上传(所以我知道我有权这样做),
我的问题是:
POST
获取在 之后创建的临时文件并使用如下所示的 FTP 代码(取自此处)加载它是不好的做法(或在概念上是错误的)吗?
<?php
$ftp_server = "myftp.co.uk";
$ftp_user_name = "myusername";
$ftp_user_pass = "mypass";
$destination_file = "../../Photos/";
$source_file = $_FILES['PhotoToUpload']['tmp_name'];
// set up basic connection
$conn_id = ftp_connect($ftp_server);
ftp_pasv($conn_id, true);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// 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);
?>
解决方案
推荐阅读
- java - 从arraylist中删除重复的对象元素
- javascript - 制作 jQuery 原生 JavaScript
- prometheus - Prometheus Alertmanager中警报状态为RESOLVED时如何丢弃警报摘要?
- c++ - 对于我的智能指针,我能做些什么而不是更好?
- html - 如何在背景颜色/填充上叠加 SVG 背景图案图像?
- sql - 每个组的 SQL 最大计数
- javascript - 创建一个将函数作为参数的 _.memoize 函数
- electron - 如何根据屏幕分辨率调整应用程序的高度和宽度
- python - 为什么 pandas 不使用 Python 从数据框中删除我的重复值?
- reactjs - 如何在源路由而不是目标私有路由中处理身份验证?