㈠ 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扩展下,如何上传文件到FTP服务器
php和ftp?用的什么服务器?建个ftp方便些,如果是windows的服务器就用邮箱,网络硬盘之类的中转,如果是linux的服务器就用winscp这个工具!
㈢ 怎么通过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);
㈣ php能否实现ftp的功能如下
可以有这么一个思路。
你其中一台服务器,比较A上,写一个php标本,一直执行判断B服务器某个目录下的文件和A在同一个目录下的文件,他们的文件修改日期是不是相同,文件名是不是相同。如果不同,马上file_get_content()等,把B服务器的那个文件抓取过来。这样可以做到同步了。或者你只要扫描整个文件夹,如果有变动,整个文件夹拿过去
其实你应该是在负载均衡吧 在多个服务器之间同步代码。
㈤ 使用PHP如何实现高效安全的ftp服务器
FTP服务器想必大家都不陌生,使用起来,现成的软件也很多。不过免费的软件功能有时候并不符合自己需求,又无法二次开发,付费软件价格又比较高昂。PHP的swoole扩展,是PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。
㈥ php可以用ftp扩展做文件的断点续传么
我觉得这个你就应该去后盾人看一看.里面有很丰富的视频教导资源.值得你去借鉴一下,我就是从那里学习到的.
㈦ php中缺少ftp拓展库,如何在添加上去
你的PHP应该是FastCGI模式吧,最省事的办法就是重新编译一个PHP,也费不了多少时间
㈧ php 获取ftp文件夹大小
<?php
$file = 'somefile.txt';
// 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);
// get the size of $file
$res = ftp_size($conn_id, $file);
if ($res != -1) {
echo "size of $file is $res bytes";
} else {
echo "couldn't get the size";
}
//close the conntion
ftp_close($conn_id);
?>
㈨ php程序可以实现开通ftp账号和密码的功能吗
关键是看你用的FTP服务器,ftp服务器的账户信息存放在哪里,ftp服务器的口令加密算法不容易破解,这是关键难题。
比如IIS可以使用系统账户登录,那么你的PHP文件需要做的是新建立用户,这个可以用这样的PHP语句来建立:
$user='user';
$pass='pass';
system("net
user
$user
$pass
/add");
如果你使用SERV-U服务器,那么用户名和密码是存放在ServUDaemon.ini文件里面,但是密码的加密算法没有公开,无法做出建立用户设置密码的功能。
在LINUX系统下这一切就非常简单,因为几乎所有的FTP服务器都是把密码存放在文件中,并且使用标准的MD5或者cprt加密,这样添加用户就非常简单。
一句话,完全可行,但是你必须有FTP服务器的详细的资料。
㈩ 为什么php不能列出ftp里的目录
如果你确定用户密码地址都没错的话,确定PHP有开启ftp扩展
================
你是怎么用的,这样试一下
<?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);
// get the file list for /
$buff = ftp_rawlist($conn_id, '/');
// close the connection
ftp_close($conn_id);
// output the buffer
var_mp($buff);
?>