1. 如何使用php中ftp函数上传文件以及解决上传文件失败的方法
一、 ftp上传图片参数说明。
1 $source:本机图片完整的路径。(/a/b/c.jpg)
2 $des :上传目标linux主机完整的路径。
3 $ftp_server:ftp地址
4 $ftp_user_name:ftp用户名
5 $ftp_user_pass: ftp密码
6 $port:端口
二、如何使用php中ftp函数上传文件的方法
例如:
本地地址为:/a/b/c.jpg
目标地址为:/d/a/b/c.jpg
2.1、linux主机上传linux主机。
01 function ftpSendFile($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
02 {
03 // 此步骤是在于上传目录与本机的目录不一致转换使用
04 $des = "/d" . $des;
05 $conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
06 $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
07 ftp_pasv($conn_id, TRUE);
08 $ftp_folder = dirname($des);
09 $dir = explode("/", $ftp_folder);
10 $path = "";
11 for ($i = 0; $i < count($dir); $i++) {
12 $path .= "/" . $dir[$i];
13 if (!ftp_chdir($conn_id, $path)) {
14 $result = ftp_mkdir($conn_id, $path);
15 }
16 }
17 if (ftp_put($conn_id, $des, $source, FTP_BINARY)) {
18 return 1;
19 } else {
20 return 0;
21 }
22 ftp_close($conn_id);
23 }
2.2、windows主机上传linux主机。
01 function sendPic($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
02 {
03 $des = "/d" . $des;
04 $conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
05 $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
06 ftp_pasv($conn_id, TRUE);
07 $ftp_folder = dirname(str_ireplace('\\', '/', $des));
08 $dir = explode("/", $ftp_folder);
09 $path = "";
10 for ($i = 0; $i < count($dir); $i++) {
11 $path .= "/" . $dir[$i];
12 if (!ftp_chdir($conn_id, $path)) {
13 $result = ftp_mkdir($conn_id, $path);
14 }
15 }
16 if (ftp_put($conn_id, str_ireplace('\\', '/', $des), $source, FTP_BINARY)) {
17 return 1;
18 } else {
19 return 0;
20 }
21 ftp_close($conn_id);
22 }
上面的两种使用php中ftp函数上传文件的方法基本可以满足正常的使用。
2. php file_put_contents写入文件失败
按语法的意思,是你函数用的不正确,缺乏可写入的东西或者是没有可写权限吧
3. 如何用php语言调用ftp_put函数上传文件
直接FTP方式,使用不太方便。
需要用户ftp方式将自己的文件上传到服务器,再将ftp空间的文件名填在文本框中,这样php程序就能够在服务器上上取到ftp上传的文件,拷贝到系统存储空间。这样做的优点是可以传送比较大的文件。
4. ftp_put的说明
bool ftp_put ( resource ftp_stream, string remote_file, string local_file, int mode [, int startpos])
ftp_put() 函数用来上传由 local_file 参数指定的文件到 FTP 服务器,上传后的位置由 remote_file 指定。传输模式参数 mode 只能为 FTP_ASCII(文本模式)或 FTP_BINARY(二进制模式)。
注: 参数 startpos 仅适用于 PHP 4.3.0 以上版本。
如果成功则返回 TRUE,失败则返回 FALSE。 例子 1. ftp_put()实例
<?php
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_ASCII);
?>
5. php代码实现ftp_put上传问题
你好
可以修改上传限制
配置php.ini文件 (以上传500M以下大小的文件为例)
查找以下选项并修改->
file_uploads = On ;打开文件上传选项
upload_max_filesize = 500M ;上传文件上限
6. 使用windows控制台通过ftp上传文件至linux服务器,put命令失败,请问是什么原因不胜感激之至。
目标文件夹不存在??或者目标文件不存在??
linux下有些东西很奇怪的,就比如tftp,不能上传目标文件夹没有的文件。。。
比如你要上传1.txt,如果目标文件夹下没有文件1.txt存在,那么上传失败。。
上面这些是参考,你看看对你有用没。
7. php file_put_contents写入失败处理
可能是网速的问题,网速慢的话在规定的时间内,数据没有写完
8. php使用ftp_put上传图片出错问题 图片是上传成功了,但是一个空白文件,为什么为出现这状况
你贴的代码都是变量,实在很难确定你的错误到底在哪里,希望你最好能够贴出具体的代码,因为这个可能是你路径问题,或者是连接问题,也可能是转换目录问题。
下面是我写的能够成功完成文件上传ftp的代码,仅供参考。
<?php
$conn = ftp_connect("192.168.1.104") or die ("error");
ftp_login($conn, "benzlee", "123456");
ftp_chdir($conn, "folder");
$upload = ftp_put($conn, "test.jpg", "D:\\123.jpg", FTP_BINARY);
if($upload)
{
echo 1;
ftp_close($conn);
}
else
{
die("上传图片失败------" . "D:\\123.jpg");
}
希望对你有帮助,有什么不明白的,我尽量帮忙,谢谢^^
9. FTP put文件出错
共享文件有问题了