FTP上传文件失败,提示使用ftp_put( )出错?

FTP上传文件失败,提示使用ftp_put( )出错?

在服务器本机上调试,上传文件成功,但是在客户机上调试,却提示文件上传失败,出错提示为:
Warning: ftp_put(  ) [function.ftp-put]: failed to open stream: No such file or directory in E:\www\cs\423\index.php on line 85

主要代码如下:
<?
  $address=“192.168.1.240”;
  $name="user"
  $pwd="123";
  $fileaddress=“1.jpg”;
  $ftp=ftp_connect($address,21);
  ftp_login($ftp,$name,$pwd);
  $filename=basename($fileaddress);
  if(ftp_put($ftp,$filename,$fileaddress,FTP_BINARY)){      //这里就是85行
    echo "<script>alert('文件上传成功!');</script>";
  }else{
     echo "<script>alert('文件上传失败!');</script>";
  }
?>

请大侠们指教了

提示没有这个文件啊。看看文件路径是否正确咯。
如履薄冰

正确的啊,如果不正确,在服务器本机怎么能成功呢?就是在客户端实现上传的时候出错

如果正确php就不会提示没有这个文件或路径的。
你程序写的路径就是相对于php文件的路径。
毕业了。。。

请问4楼,能给个详细的说明或是例子么?我稍微改了一下代码:
$filename="192.168.1.240/".basename($fileaddress);
ftp_put($ftp,$filename,$fileaddress,FTP_BINARY) ;
还是不行,请问您所说的路径应该怎么设置?

首先php是一个服务器端语言,并不会对客户端的文件进行操作。
比如说我想从 服务器1 通过ftp.php程序将 1.jpg 文件上传到服务器2
那么这个1.jpg应该是服务器1的文件,路径用绝对路径或相对于ftp.php的路径。
当然你可以将客户端的文件用post方式上传到服务器1,再通过ftp传到服务器2
毕业了。。。

我想通过客户端将1.jpg通过ftp上传到服务器,难道要通过修改
ftp_put($ftp,$filename,$fileaddress,FTP_BINARY) ;
中的  $filename  吗?将这个变量的值设置为绝对路径或是相对路径么?$filename ="../../../ftp/".$filename ;
而 $fileaddress   是记录客户机本地文件路径的,应该不用改了吧?

[ 本帖最后由 king_123 于 2008-7-21 12:41 编辑 ]

把remote文件的路径改为相对路径了也就是FTP的根目录,把原来的$filename=basename($fileaddress);
改为 $filename="../../../ftp/".basename($fileaddress);
在服务器端测试成功,但是在客户端上传文件,还是出错,怎么回事?

[ 本帖最后由 king_123 于 2008-7-22 10:01 编辑 ]

在服务器本机或是客户端测试都能连上FTP,也能删除、下载,就是无法实现在客户端的FTP文件上传

php是一个服务器端语言,并不会对客户端的文件进行操作。
如履薄冰