php - PHP ftp_put() 期望参数 1 是资源,在尝试将文件上传到远程 ftp 服务器时给出布尔值
问题描述
我正在尝试将求职者提交的简历上传到远程 ftp 服务器。
我已将所有步骤包装到“if...else echo”语句中,并且它们都成功(fopen、ftp_connect、ftp_login),但它卡在 fpt_fput 语句中并出现以下错误:
ftp_put() 期望参数 1 是资源,布尔值在 /var/www/*******/phpmailer/sendmail.php 第 286 行给出
我检查了它是否可能是 SELinux,但它没有在该服务器上运行。
这是 php 文件中该部分的代码:
$location = "uploads/" . $finalCV;
//move_uploaded_file($_FILES['applCV']['tmp_name'], $location);
//Move uploaded & renamed CV to server
if($fp = fopen($location, 'r'))
echo "File Open Successful. ";
else {
echo "File Open Unsuccessful. ";
}
if($conn_id = ftp_connect("some.server"))
echo "FTP Connection Established Successfully. ";
else {
echo "FTP Connection Failed. ";
}
$ftpuser = "wynand";
$ftppasswd = "********";
if($login = ftp_login($conn_id, $ftpuser, $ftppasswd)) {
echo "FTP Login Successful. ";
}
else {
echo "FTP Login Unsuccessful. ";
}
if(ftp_put($login, $location, $fp, FTP_ASCII)) {
echo "Successfully uploaded CV. ";
}
else {
echo "There was a problem uploading CV. ";
}
解决方案
你$login
有结果ftp_login()
,但ftp_put()
想要resource $ftp
来自文档ftp_put的示例
<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "successfully uploaded $file\n";
} else {
echo "There was a problem while uploading $file\n";
}
// close the connection
ftp_close($conn_id);
?>
ftp_put()
获取ftp_connect()
结果的第一个参数。尝试
if(ftp_put($conn_id, $location, $fp, FTP_ASCII)) {
echo "Successfully uploaded CV. ";
}
如果您想在本地文件上使用打开文件指针(在您的代码中使用它:))尝试ftp_fput()
推荐阅读
- multithreading - Golang中偏移值的循环实现,用于从couchbase n1ql查询中获取的记录数
- javascript - Vuetify - change style of select input in table footer
- java - ClassCastException while converting LinkedHashMap to generic class
- c++ - Trying to build a project which uses the libcurl library - cannot find -lbrotlidec
- python - Pyttsx3 Will only Speak Once
- r - 如何获得 ROC 准确率的 95% 置信区间?
- postgresql - 如何在 SQL-Shell 中使用 \i 命令?
- javascript - /Reactjs 在浏览器中获取 405 状态码
- c# - 为什么我得到“最好的重载列表
集合初始值设定项的 add 方法有一些无效参数” - html - Why doesn't container take up entire height