我正在尝试将求职者提交的简历上传到远程ftp服务器。
我已经将所有步骤包装成if...其他回声语句,它们都成功了(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. ";
}
你的$log
有结果ftp_login()
,但是ftp_put()
想要资源$ftp
文件ftp\U 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\u put()
takeftp\u connect()
result的第一个参数。尝试
if(ftp_put($conn_id, $location, $fp, FTP_ASCII)) {
echo "Successfully uploaded CV. ";
}
如果要在本地文件上使用open file指针(在代码中使用它:),请尝试ftp\u fput()