Php 使用ftp_connect将文件上载到ftp失败
我正在尝试使用ftp将产品上载到我的服务器。但是,我收到以下错误消息: FTP连接失败!试图连接到 下面是php脚本:Php 使用ftp_connect将文件上载到ftp失败,php,Php,我正在尝试使用ftp将产品上载到我的服务器。但是,我收到以下错误消息: FTP连接失败!试图连接到 下面是php脚本: if (isset($submit)){ //connect to ftp server $ftp_server="123456shop.bugs3.com"; //ftp user name $ftp_user_name="u12345"; //ftp username password $ftp_user_pass="abcde"; $con_id=ftp_connec
if (isset($submit)){
//connect to ftp server
$ftp_server="123456shop.bugs3.com";
//ftp user name
$ftp_user_name="u12345";
//ftp username password
$ftp_user_pass="abcde";
$con_id=ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($con_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".".....";
}
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/jpg"))
&& ($_FILES["file"]["size"] < 2000000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("../product_images/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
$filep=$_FILES['file']['tmp_name'];
// upload the file
$upload = ftp_put($conn_id, '/home/u408392962/public_html/product_images/', $filep, FTP_BINARY);
// check upload status
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $name to $ftp_server ";
}
/*move_uploaded_file($_FILES["file"]["tmp_name"],
"../product_images/" . $_FILES["file"]["name"]);
echo "Stored in: " . "../product_images/" . $_FILES["file"]["name"];*/
$sql = "INSERT INTO product (name,price,description,type,qty,IsSpecial,categoryID,IsNew) VALUES ('$_POST[name]', '$_POST[price]', '$_POST[description]','$_POST[type]','$_POST[qty]','$_POST[IsSpecial]','$_POST[categoryID]','$_POST[IsNew]')";
$recordset2 = mysql_query( $sql ) or die(mysql_error());
echo "<script language=javascript>alert('SUCCESSFULLY Add!')</script>";
echo "<SCRIPT language='Javascript'>
document.location=\"\list.php\";
</SCRIPT>";
}
}
}
else
{
echo "Invalid file";
}
}
if(设置($submit)){
//连接到ftp服务器
$ftp_server=“123456shop.bugs3.com”;
//ftp用户名
$ftp\u user\u name=“u12345”;
//ftp用户名密码
$ftp\u user\u pass=“abcde”;
$con_id=ftp_connect($ftp_server);
//使用用户名和密码登录
$login\u result=ftp\u login($con\u id,$ftp\u user\u name,$ftp\u user\u pass);
//检查连接
如果(!$conn_id)| |(!$login_result)){
echo“FTP连接失败!”;
echo“试图为用户$ftp\U用户名…连接到$ftp\U服务器”;
出口
}否则{
echo“已连接到$ftp_服务器,用于用户$ftp_用户名”。…”;
}
$allowedExts=数组(“jpg”、“jpeg”、“gif”、“png”);
$extension=end(分解(“.”,$_文件[“文件”][“名称]);
如果(($_文件[“文件”][“类型”]=“图像/gif”)
||($_文件[“文件”][“类型”]=“图像/jpeg”)
||($_文件[“文件”][“类型”]=“图像/png”)
||($_文件[“文件”][“类型”]=“图像/jpg”))
&&($_文件[“文件”][“大小”]<2000000)
&&in_数组($extension$allowedExts))
{
如果($\u文件[“文件”][“错误”]>0)
{
回显“返回代码:”.$\u文件[“文件”][“错误”]。
”;
}
其他的
{
echo“上传:.”文件[“文件”][“名称”]。“
”;
echo“Type:”.$\u文件[“file”][“Type”]。“
”;
回显“大小:”($_文件[“文件”][“大小”]/1024)。“kB
”;
回显“临时文件:”.$\u文件[“文件”][“tmp\u名称”]。
”;
如果(文件存在(“../product\u images/”$\u FILES[“file”][“name”]))
{
echo$\u文件[“文件”][“名称”]。“已存在。”;
}
其他的
{
$filep=$\u FILES['file']['tmp\u name'];
//上传文件
$upload=ftp_put($conn_id,'/home/u408392962/public_html/product_images/',$filep,ftp_BINARY);
//检查上传状态
如果(!$upload){
echo“FTP上传失败!”;
}否则{
echo“已将$name上载到$ftp_服务器”;
}
/*移动上传的文件($文件[“文件”][“tmp文件名”],
“./产品图片/”$\u文件[“文件”][“名称”]);
echo“存储在:“..”./产品图片/“$”文件[“文件”][“名称”]*/
$sql=“在产品(名称、价格、说明、类型、数量、IsSpecial、categoryID、IsNew)中插入值(“$”POST[name]、“$”POST[price]、“$”POST[description]、“$”POST[type]、“$”POST[qty]、“$”POST[IsSpecial]、“$”POST[categoryID]、“$”POST[IsNew]”;
$recordset2=mysql\u query($sql)或die(mysql\u error());
回显“警报('成功添加!')”;
回声“
document.location=\“\list.php\”;
";
}
}
}
其他的
{
回显“无效文件”;
}
}
有人能帮我吗?
非常感谢 尝试启用被动模式连接,如果没有被动模式,某些服务器无法接受
尝试使用脚本看起来不错…请检查您的凭据一次。确保它们是正确的。$con_id=ftp_connect($ftp_server)或die(“连接失败”);,检查与服务器建立的连接。尝试使用错误报告(1)尝试连接到公共ftp服务器,以查看连接是否正常。如果成功,则表示问题来自您的ftp服务器。好的,我现在可以连接到ftp文件。但是,当前的问题是,我在第61行的“/home/u408392962/public_html/admin/add.php”中得到了一个警告错误,没有这样的文件或目录。61是$upload=ftp_put($conn_id,'/home/u408392962/public_html/product_images/',$filep,ftp_BINARY);我想知道,我应该在它后面加上文件名吗?(比如:$upload=ftp\u put($conn\u id,/home/u408392962/public\u html/product\u images/)。$\u FILES[“file”][“name”],$filep,ftp\u BINARY);谢谢,但这不起作用。到目前为止的问题是,我现在可以连接到ftp文件,但我无法将文件上载到服务器。我给出的路径似乎不正确。@user2295136,您可以使用ftp列表列出文件吗?