当前位置:首页 » 文件管理 » phpftp获取文件

phpftp获取文件

发布时间: 2023-08-28 09:46:09

❶ 用php怎样实现把文件从一台服务器,移动到另一台ftp服务器呢

<?php
// 链接ftp
$conn = ftp_connect('地址', '端口', '超时时间');

// 登录
ftp_login($conn, '账号', '密码');

$here = ftp_pwd($conn);

//获取服务器端系统信息ftp_systype()
$server_os = ftp_systype($conn);

//被动模式(PASV)的开关,打开或关闭PASV(1表示开)
ftp_pasv($conn, 1);

//进入目录中用ftp_chdir()函数,它接受一个目录名作为参数。
ftp_chdir($conn, "public_html");
//ftp_mkdir($conn, "test");

ftp_put($conn, "服务器显示的名称", "要上传的文件名称", FTP_ASCII);

ftp_quit($conn);

❷ 如何使用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_nlist获取到列表后怎么判断是一个文件还是一个目录

用ftp_rawlist,返回结果会告诉你,是文件还是文件夹,非要用ftp_nlist的话,就循环判断返回值里面的ftp_size,如果是文件夹,会返回-1,但是效率没有ftp_rawlist来得高

❹ ftp怎么设置权限可以让php无法读取其他目录的文

设置php的执行用户权限为只限制读写网站根目录下的文件及文件夹,比如www文件夹是网站根目录,php-fpm用户是执行用户,那么设置php-fpm只能读写www文件夹里面的文件。这样其他的www以外的目录这个用户就没有权限访问了。

❺ 用php 中ftp函数抓取别人服务器上的文件内容怎么做啊

ftp_get -- 从 FTP 服务器上下载一个文件
说明
bool ftp_get ( resource ftp_stream, string local_file, string remote_file, int mode [, int resumepos])

ftp_get() 函数用来下载 FTP 服务器上由 remote_file 参数指定的文件,并保存到由参数 local_file 指定的本地文件。传送码槐模式参数 mode 只能为 (文本模式) FTP_ASCII 或 (二进制模式) FTP_BINARY 中的其中一个。

注: 参数 resumepos 仅在适用于 PHP 4.3.0 以上版本.

如果成功则返回 TRUE,失败则返回灶知 FALSE。
ftp_get() 例子

<?php
// define some variables
$local_file = 'local.zip';
$server_file = 'server.zip';
// connect to the FTP server
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// try to download
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
echo "Successfully written to $local_file\n";
} else {
echo "There was a problem\n";
}
// close the connection
ftp_close($conn_id);
?>
不知道你要的是迟辩友不是这个函数。

热点内容
如何加入安卓代理 发布:2025-02-01 01:51:40 浏览:2
我的世界手游服务器刷钻石教程 发布:2025-02-01 01:48:13 浏览:773
sqlifthen男女 发布:2025-02-01 01:44:59 浏览:690
幻灵和安卓哪个互通 发布:2025-02-01 01:43:33 浏览:648
电脑配置够但为什么打lol掉帧 发布:2025-02-01 01:37:08 浏览:316
21款朗逸哪个配置比较划算 发布:2025-02-01 01:35:32 浏览:976
建筑动画片脚本 发布:2025-02-01 01:35:21 浏览:469
管家婆如何用阿里云服务器 发布:2025-02-01 01:29:09 浏览:649
解压耳放 发布:2025-02-01 01:20:18 浏览:176
cars算法 发布:2025-02-01 01:02:26 浏览:177