php源码上传服务器教程,PHP文件上传实现上传到另一台服务器

在php中我们如果要上传到另一台服务器就需要利用php一个ftp功能,在php中提供了 ftp_connect来连接服务器,然后把我们上传的数据传到远程服务器哦,下面我来给各位朋友介绍。

ftp_connect() 函数建立一个新的 FTP 连接。

若成功,则返回一个连接标识,否则返回 false。

语法

host 必需。规定要连接的 FTP 服务器。可以是域名或 IP 地址。

后面不应以斜线结尾,前面也不需要用 ftp:// 开头。

port 可选。规定 FTP 服务器的端口。

timeout 可选。规定该 FTP 服务器的超时时间。默认是 90 秒。

然后在台式机本地做了个测试:

代码如下

复制代码

$ftp_server = "192.168.1.100";

$ftp_user_name = "laohu";

$ftp_user_pass = "123456";

$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

$file = 'test.txt';

$remote_file = '/test/a.txt';

// 注意:这里的"/test"指的是ftp根目录下的test文件夹,而非系统跟目录下的

test

代码如下

复制代码

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

if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {

echo "文件移动成功";

} else {

echo "移动失败";

}

ftp_close($conn_id);

运行后:文件移动成功。

要的就是这个效果了,之后用台式机做程序服务器,上传附件时全用ftp方法上传至笔记本上,笔记本ip是105,相

应代码如下:

代码如下

复制代码

if (is_uploaded_file($_FILES['uploadfile']['tmp_name'])) {

$ftp_server = "192.168.1.105";

$ftp_user_name = "lesley";

$ftp_user_pass = "123456";

$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

$file = $_FILES['uploadfile']['tmp_name'];

$remote_file = '/test/'.$_FILES['uploadfile']['name'];

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

if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {

echo "文件:".$_FILES['uploadfile']['name']."上传成功";

} else {

echo "上传失败";

}

ftp_close($conn_id);

}

对应的前台页面代码:

代码如下

复制代码

运行后确实成功。

下面看一个ftp文件上传类

代码如下

复制代码

调用代码

代码如下

复制代码

/***

* desc:调用示例

* link:www.111cn.net

* date:2013/2/24

*/

$ftp = new ftp('192.168.0.249',21,'hlj','123456'); // 打开FTP连接

$ftp->up_file('aa.wav','test/13548957217/bb.wav'); // 上传文件

//$ftp->move_file('aaa/aaa.php','aaa.php');// 移动文件

//$ftp->copy_file('aaa.php','aaa/aaa.php');// 复制文件

//$ftp->del_file('aaa.php'); // 删除文件

$ftp->close(); // 关闭FTP连接

?>

需要注意,在用ftp_put方法时,第四个参数传送模式,需要用FTP_BINARY(二进制模式),用FTP_ASCII(文本模式)

时,图片能上传但无法显示,其他文件重命名、中文乱码解决、上传权限控制等,就不在此提及了。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值