Php 使用ftp_connect将文件上载到ftp失败

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

我正在尝试使用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_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列表列出文件吗?