失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > php ftp 创建文件夹失败 如何使用php中ftp函数上传文件以及解决上传文件失败的方法...

php ftp 创建文件夹失败 如何使用php中ftp函数上传文件以及解决上传文件失败的方法...

时间:2023-02-13 07:14:21

相关推荐

php ftp 创建文件夹失败 如何使用php中ftp函数上传文件以及解决上传文件失败的方法...

在php中如何使用ftp函数实现此项功能呢?以及怎么排查php使用ftp函数上传文件失败的原因?

因为系统重构实现均衡负载,网站程序与文件服务器不在一台机子上。于是,程序在上传文件的同时就要将文件上传到文件服务器上。

这里涉及到windows主机上传到linux主机,linux主机上传到linux主机。这两个之间呢,只是稍微的有点区别,因为windows的路径可以兼容linux路径,但是linux的路径不兼容windows主机'\\'的写法。所以,在写路径的时候稍加注意即可。

下面,就列举上面两种情况php中使用ftp函数上传文件的具体实现代码。

一、 ftp上传图片参数说明。$source:本机图片完整的路径。(/a/b/c.jpg)

$des:上传目标linux主机完整的路径。

$ftp_server:ftp地址

$ftp_user_name:ftp用户名

$ftp_user_pass:ftp密码

$port:端口

二、如何使用php中ftp函数上传文件的方法

例如:本地地址为:/a/b/c.jpg

目标地址为:/d/a/b/c.jpg

2.1、linux主机上传linux主机。functionftpSendFile($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)

{

//此步骤是在于上传目录与本机的目录不一致转换使用

$des="/d".$des;

$conn_id=ftp_connect($ftp_server,$port)ordie("Couldn'tconnectto$ftp_server");

$login_result=ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);

ftp_pasv($conn_id,TRUE);

$ftp_folder=dirname($des);

$dir=explode("/",$ftp_folder);

$path="";

for($i=0;$i

$path.="/".$dir[$i];

if(!ftp_chdir($conn_id,$path)){

$result=ftp_mkdir($conn_id,$path);

}

}

if(ftp_put($conn_id,$des,$source,FTP_BINARY)){

return1;

}else{

return0;

}

ftp_close($conn_id);

}

2.2、windows主机上传linux主机。functionsendPic($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)

{

$des="/d".$des;

$conn_id=ftp_connect($ftp_server,$port)ordie("Couldn'tconnectto$ftp_server");

$login_result=ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);

ftp_pasv($conn_id,TRUE);

$ftp_folder=dirname(str_ireplace('\\','/',$des));

$dir=explode("/",$ftp_folder);

$path="";

for($i=0;$i

$path.="/".$dir[$i];

if(!ftp_chdir($conn_id,$path)){

$result=ftp_mkdir($conn_id,$path);

}

}

if(ftp_put($conn_id,str_ireplace('\\','/',$des),$source,FTP_BINARY)){

return1;

}else{

return0;

}

ftp_close($conn_id);

}

上面的两种使用php中ftp函数上传文件的方法基本可以满足正常的使用。

可是,在实际的过程中可能还会遇到上传失败的问题,那么,我们该怎么解决呢?

三、如何排查php使用ftp函数上传失败的原因?

1、帐号密码端口不对,引发的上传失败?

答:这种问题属于常识,不清楚的咨询运维或者空间商等。

2、上传目录无权限,引发的上传失败?

答:将上传目录最好设置为777。

3、ftp用户上传无权限,引发的上传失败?

答:查看ftp用户是否有权限上传到指定的目录,可咨询运维或者空间商等。

4、上传路径错误,引发的上传失败?

答:仔细比对本地上传文件地址与目标上传文件地址,是否真的存在。

通过上面的四个步骤就可以基本的排查出php使用ftp函数上传失败的原因。

如果觉得《php ftp 创建文件夹失败 如何使用php中ftp函数上传文件以及解决上传文件失败的方法...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。