当前位置:首页 » 文件传输 » phpftp批量上传
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

phpftp批量上传

发布时间: 2022-11-21 03:04:42

① 如何使用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主机。
function ftpSendFile($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
{
// 此步骤是在于上传目录与本机的目录不一致转换使用
$des = "/d" . $des;
$conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $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 < count($dir); $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)) {
return 1;
} else {
return 0;
}
ftp_close($conn_id);
}
2、windows主机上传linux主机。
function sendPic($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
{
$des = "/d" . $des;
$conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $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 < count($dir); $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)) {
return 1;
} else {
return 0;
}
ftp_close($conn_id);
}
上面的两种使用php中ftp函数上传文件的方法基本可以满足正常的使用。

② php连接ftp下载或上传文件

$conn_id = ftp_connect('localhost') or die('can\'t connect to ftp');

// login with username and password
$login_result = @ftp_login($conn_id, $ftpname, $ftppass);

// check connection
if ((!$conn_id) || (!$login_result)) {
echo '连接出错';
exit;
}
//$path 路径$fliename文件名多个文件上传
$dir=ftp_chdir($conn_id,$filename);//上传目录
$Name=array_filter(explode('|',$fliename));
foreach ($Name as $key=>$val){
ftp_put($conn_id, $val, $path.$val, FTP_BINARY)or die('上传失败!');
}

ftp_close($conn_id);

③ 什么是ftp文件,怎么将php网站文件上传到服务器

ftp是
文件传输协议
,利用此协议可以在网络上传输文件。
把文件上传到服务器,一般都是使用ftp的方法,因为往往服务器都会提供ftp功能。具体操作需要安装一个方便操作的ftp客户端,例如TotalCommander就很好,在客户端里面建议一个会话,输入服务器的地址、用户名、密码,然后就可以连接服务器,连接成功后可以看见服务器上的文件,可以和本地的进行
双向传输
(可以上传和下载)。
如果只上传个别文件,可以使用浏览器或者DOS进行传输,浏览器的方法是打开地址:ftp://用户名:密码@服务器地址/,DOS命令是ftp
服务器地址,然后输入用户名和密码。

④ php ftp 上传文件夹

是指使用php来上传文件么?
我没有试过php操作ftp..
按照理论的话,如果你会单个上传.. 你就可以用读取目录的函数来进行全部上传
$handle = opendir('xxx') // 打开某文件夹
while($file = readdir($handle)) { // 遍历刚才文件夹 $file是文件名称
}

如果你只是用ftp上传php文件.. 建议你使用filezilla,是个免费的开源FTP程序..至于说上传目录,右键目录然后点上传即可

⑤ 北大青鸟设计培训:用PHP控制FTP文件上传

利用PHP,你总是可以有多种方式来完成某个特定的任务。
我们就拿文件上传举个例子。
当然了,你可以按照传统的方式来使用HTTP文件上传,把文件直接传输到Web服务器磁盘上。
沈阳电脑培训http://www.kmbdqn.cn/认为你还可以用更加奇异的方式上传,用FTP协议两步就完成上传:从你的本地硬盘到Web服务器,然后再到FTP服务器。
PHP在本机同时支持FTP和HTTP上传,所以你可以根据自己应用程序的设计需要进行最佳的选择。
使用PHP的FTP函数进行文件传输几乎与使用传统的FTP客户端相同——你会看到连函数的名字都和标准的FTP命令类似。
关于HTTP文件上传的文章已经多得满天飞了,这就是为什么本文有必要把注意力放在基于FTP的文件上传上了(但是在后面给出的例子中,两种方式你都会看到)。
要注意的是,本教程假设你已经安装好了PHP/Apache,而且HTTP文件上传和FTP的函数都已经激活了。
第一步:确信你拥有连接/上传到FTP服务器的权限PHP的FTP函数需要客户端-服务器连接,所以你需要在进行文件上传之前登录到目标服务器上。
你的第一项任务是确信你已经拥有了完成这项任务的信任书。
这一步可能看起来是理所当然的,但是你会惊奇地发现有多少开发人员忘了这么做,结果后来浪费大量的时间来解决因此而出现的问题。

⑥ 用php向ftp上传文件

参考代码如下:
$ftp_server = "根据实际IP设置";
$ftp_user = "wodota_ting";
$ftp_pass = "wodotating!@#";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, $ftp_user, $ftp_pass);
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}
$source_file=$this->filepath.$this->newFileName; //源地址
echo $source_file;
$destination_file="/testxiao/".$this->newFileName; //目标地址
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY) or die("Couldn't connect to $ftp_server");
//ftp_close($conn_id);
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file";
}
ftp_close($conn_id);

⑦ php中如何实现ftp上传基础代码

p工具我们都用过是用来上传文件的,那么在php中如何用代码实现呢,下面简单介绍一个最基础最简单的列子,首先根据我们使用ftp工具来说,实现文件上传需要打开ftp工具->输入ftp地址,端口号,账号,密码登陆ftp->从本地选择相应文件上传到ftp相应目录,php中要实现这么一个简单的功能无非也是这样。
第一步:打开ftp

$ip="101.101.101.101";
$name="name";
$pwd="mima";
$con=ftp_connect($ip,"21")
or("连接失败");

第二步:登陆ftp

ftp_login($con,$name,$pwd);

第三步:上传本地test.php文件到ftp
image目录下

ftp_put($con,"image/test.php","test.php",FTP_ASCII);

此时在ftp上的image目录下可以看到test.php文件了,当然这里上传文件,可以扩展下写个上传表单,将表单附件上传ftp这样就更方便,这里只作为一个文件最基础上传ftp功能。

⑧ 怎么用PHP实现对FTP空间上传文件

PHP的问题,建议请先查询PHP手册后再发问,谢谢

此题解法在FTP函数的第一个demo中就有..如下:

<?php
// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// check connection
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}

// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// check upload status
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file";
}

// close the FTP stream
ftp_close($conn_id);
?>

⑨ 怎么通过PHP来支持FTP和HTTP上传

给你一些 php 操作 ftp 的函数:


FTP 函数

  1. ftp_alloc— 为要上传的文件分配空间

  2. ftp_cp— 切换到当前目录的父目录

  3. ftp_chdir— 在 FTP 服务器上改变当前目录

  4. ftp_chmod— 设置 FTP 服务器上的文件权限

  5. ftp_close— 关闭一个 FTP 连接

  6. ftp_connect— 建立一个新的 FTP 连接

  7. ftp_delete— 删除 FTP 服务器上的一个文件

  8. ftp_exec— 请求运行一条 FTP 命令

  9. ftp_fget— 从 FTP 服务器上下载一个文件并保存到本地一个已经打开的文件中

  10. ftp_fput— 上传一个已经打开的文件到 FTP 服务器

  11. ftp_get_option— 返回当前 FTP 连接的各种不同的选项设置

  12. ftp_get— 从 FTP 服务器上下载一个文件

  13. ftp_login— 登录 FTP 服务器

  14. ftp_mdtm— 返回指定文件的最后修改时间

  15. ftp_mkdir— 建立新目录

  16. ftp_nb_continue— 连续获取/发送文件(non-blocking)

  17. ftp_nb_fget— 从 FTP 服务器获取文件并写入到一个打开的文件(非阻塞)

  18. ftp_nb_fput— 将文件存储到 FTP 服务器 (非阻塞)

  19. ftp_nb_get— 从 FTP 服务器上获取文件并写入本地文件(non-blocking)

  20. ftp_nb_put— 存储一个文件至 FTP 服务器(non-blocking)

  21. ftp_nlist— 返回给定目录的文件列表

  22. ftp_pasv— 返回当前 FTP 被动模式是否打开

  23. ftp_put— 上传文件到 FTP 服务器

  24. ftp_pwd— 返回当前目录名

  25. ftp_quit— ftp_close 的 别名

  26. ftp_raw— 向 FTP 服务器发送命令

  27. ftp_rawlist— 返回指定目录下文件的详细列表

  28. ftp_rename— 更改 FTP 服务器上的文件或目录名

  29. ftp_rmdir— 删除 FTP 服务器上的一个目录

  30. ftp_set_option— 设置各种 FTP 运行时选项

  31. ftp_site— 向服务器发送 SITE 命令

  32. ftp_size— 返回指定文件的大小

  33. ftp_ssl_connect— 打开 SSL-FTP 连接

  34. ftp_systype— 返回远程 FTP 服务器的操作系统类型


例子:

<?php

$ftp_server="";
$ftp_user_name="";
$ftp_user_pass="";
$file="";//tobeuploaded
$remote_file="";

//简历ftp链接
$conn_id=ftp_connect($ftp_server);

//使用用户名和密码登录
$login_result=ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);

//上传文件
if(ftp_put($conn_id,$remote_file,$file,FTP_ASCII)){
echo"成功上传文件:$file ";
exit;
}else{
echo"上传文件错误:$file ";
exit;
}

//关闭ftp链接
ftp_close($conn_id);

⑩ 如何使用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函数上传文件的方法基本可以满足正常的使用。