phpftp写
其实就是三步问题,和你操作ftp工具一样,思路基本一样。
参考资料:http://www.itnet.org.cn/news419.html
2. php清空ftp目录中文件怎么写
//设置需要删除的文件夹
$path = "./Application/Runtime/";
//清空文件夹函数和清空文件夹后删除空文件夹函数的处理
function deldir($path){
//如果是目录则继续
if(is_dir($path)){
//扫描一个文件夹内的所有文件夹和文件并返回数组
$p = scandir($path);
foreach($p as $val){
//排除目录中的.和..
if($val !="." && $val !=".."){
//如果是目录则递归子目录,继续操作
if(is_dir($path.$val)){
//子目录中操作删除文件夹和文件
deldir($path.$val.'/');
//目录清空后删除空文件夹
@rmdir($path.$val.'/');
}else{
//如果是文件直接删除
unlink($path.$val);
}
}
}
}
}
//调用函数,传入路径
deldir($path);
3. 怎么通过PHP来支持FTP和HTTP上传
给你一些 php 操作 ftp 的函数:
FTP 函数
ftp_alloc— 为要上传的文件分配空间
ftp_cp— 切换到当前目录的父目录
ftp_chdir— 在 FTP 服务器上改变当前目录
ftp_chmod— 设置 FTP 服务器上的文件权限
ftp_close— 关闭一个 FTP 连接
ftp_connect— 建立一个新的 FTP 连接
ftp_delete— 删除 FTP 服务器上的一个文件
ftp_exec— 请求运行一条 FTP 命令
ftp_fget— 从 FTP 服务器上下载一个文件并保存到本地一个已经打开的文件中
ftp_fput— 上传一个已经打开的文件到 FTP 服务器
ftp_get_option— 返回当前 FTP 连接的各种不同的选项设置
ftp_get— 从 FTP 服务器上下载一个文件
ftp_login— 登录 FTP 服务器
ftp_mdtm— 返回指定文件的最后修改时间
ftp_mkdir— 建立新目录
ftp_nb_continue— 连续获取/发送文件(non-blocking)
ftp_nb_fget— 从 FTP 服务器获取文件并写入到一个打开的文件(非阻塞)
ftp_nb_fput— 将文件存储到 FTP 服务器 (非阻塞)
ftp_nb_get— 从 FTP 服务器上获取文件并写入本地文件(non-blocking)
ftp_nb_put— 存储一个文件至 FTP 服务器(non-blocking)
ftp_nlist— 返回给定目录的文件列表
ftp_pasv— 返回当前 FTP 被动模式是否打开
ftp_put— 上传文件到 FTP 服务器
ftp_pwd— 返回当前目录名
ftp_quit— ftp_close 的 别名
ftp_raw— 向 FTP 服务器发送命令
ftp_rawlist— 返回指定目录下文件的详细列表
ftp_rename— 更改 FTP 服务器上的文件或目录名
ftp_rmdir— 删除 FTP 服务器上的一个目录
ftp_set_option— 设置各种 FTP 运行时选项
ftp_site— 向服务器发送 SITE 命令
ftp_size— 返回指定文件的大小
ftp_ssl_connect— 打开 SSL-FTP 连接
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);
4. PHP如何编写FTP上传文件 前后台代码
你上传的时候打印$_FILES这个数组就知道文件名和路径了,上传的时候服务器把文件流作为个临时文件存放在服务器的tmp目录,你要上传到具体目录就要从这个tmp目录复制出临时文件写入你要的目录。后台ftp要不要写类具体看自己是要面向过程的还是面向对象的。
5. php ftp_get 如何写入本地文件
ftp_get
仅是下载,如果本地有内容你不想覆盖的话那就按照时间戳变更下载后的文件名,如果要对文件进行操作
PHP写入文件需要:打开文件fopen()、写入数据fwrite()和关闭文件
fclose()
$fp=fopen("../cnbruce.txt",'w');
r
只读——读模式,打开文件,从文件头开始读
r+
可读可写方式打开文件,从文件头开始读写
w
只写——写方式打开文件,同时把该文件内容清空,把文件指针指向文件开始处。如果该文件已经存在,将删除文件已有内容;如果该文件不存在,则建立该文件
w+
可读可写方式打开文件,同时把该文件内容清空,把文件指针指向文件开始处。如果该文件不存在,则建立该文件
a
追加
以只写方式打开文件,把文件指针指向文件末尾处。如果该文件不存在,则建立该文件
a+
追加
以可读可写方式打开文件,把文件指针指向文件末尾处。如果该文件不存在,则建立该文件
b
二进制
用于于其他模式进行连接。建议使用该选项,以获得更大程度的可移植性
注意,如果fopen()函数调用失败,函数将返回false。否则返回指针数据。所以一般在打开了文件后\读写文件前需要检测下文件是否存在。
6. 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功能。
7. 使用PHP如何实现高效安全的ftp服务器
FTP服务器想必大家都不陌生,使用起来,现成的软件也很多。不过免费的软件功能有时候并不符合自己需求,又无法二次开发,付费软件价格又比较高昂。PHP的swoole扩展,是PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。
8. 如何使用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函数上传文件的方法基本可以满足正常的使用。
9. 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);
10. 用php代码在ftp上创建文件出现问题
这个函数一般只用于linux ,很少有人把php放在windows服务器上面来运行的,php里面有些函数是只支持linux的.不是所有的都可以在windows上面用的!
想要在windows下运行就要改改斜杠
exec( "mkdir c:\\test ",$out);
还有在IIS+PHP下运行exec 首先要给php读cmd.exe的权限(就是要给cmd.exe 安全里面添加上 internet来宾用户权限) 不然会出错