我有一个连接到网站的Web应用程序。我的Web应用程序在 Ubuntu服务器(LAMP)中运行。在我的Web应用程序中,有一个名为添加新客户端的功能。添加新客户端时,用户必须为客户端设置图像。当用户单击“保存”按钮时,该图像应上传到Linux服务器本身,并且我将该图像发送到使用 FTP 托管网站的共享托管服务器 。 这在我的Windows localhost(我正在使用wamp服务器)中完美运行。但是当我将Web应用程序放到Ubuntu服务器上时,FTP映像上传有时可以正常工作,并且有时不起作用。
这是我的代码
private $config_ftp = array('hostname'=>'xxxx.com','username'=>'xxx@xxxxx.com','password'=>'xxxxx','passive'=>FALSE,'debug'=>FALSE,'port'=>21);
$source_original = $this->img_path['img_original'] . $file_name;
$destination_original = $this->full_file_path['img_original'] . $file_name;
if($this->ftp->upload($source_original,"./assets".$destination_original)) {
$this->response['msg']="Images Uploaded successfully!";
$this->response['status']=true;
}
当我在上传后检查目标文件夹时,它看起来像这样。文件大小为0kb。有时会正确上传。而且我不得不再次提及,此过程在 Windows本地主机中完全可以正常运行。
谢谢。
答案 0 :(得分:0)
$ this-> ftp-> upload()代码才能找到实际的问题。
如果$image_size = $_FILES['image']['size'];
$ image_size为0,则表示图像有问题,否则可以通过move_uploaded_file($_FILES['image']['tmp_name'], "YOUR-UPLOAD-FOLDER/YOUR-IMAGE-NAME-PLUS-EXTENSION");
成功上传。
答案 1 :(得分:0)
问题出在我的ftp_config中。
我要做的是将被动设置为true并调试为
private $config_ftp = array('hostname'=>'xxxx.com','username'=>'xxx@xxxxx.com','password'=>'xxxxx','passive'=>TRUE,'debug'=>TRUE ,'port'=>21);