Code前端首页关于Code前端联系我们

php利用ftp(php利用表单计算圆的周长和面积)

terry 2年前 (2023-09-30) 阅读数 322 #PHP
文章标签 PHP dirname()

本文目录一览:

  • 1、北大青鸟设计培训:用PHP控制FTP文件上传?
  • 2、怎么通过PHP来支持FTP和HTTP上传
  • 3、如何使用php中ftp函数上传文件以及解决上传文件失败的方法

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

利用PHP,你总是可以有多种方式来完成某个特定的任务。

我们就拿文件上传举个例子。

当然了,你可以按照传统的方式来使用HTTP文件上传,把文件直接传输到Web服务器磁盘上。

青岛电脑培训认为你还可以用更加奇异的方式上传,用FTP协议两步就完成上传:从你的本地硬盘到Web服务器,然后再到FTP服务器。

PHP在本机同时支持FTP和HTTP上传,所以你可以根据自己应用程序的设计需要进行最佳的选择。

使用PHP的FTP函数进行文件传输几乎与使用传统的FTP客户端相同——你会看到连函数的名字都和标准的FTP命令类似。

关于HTTP文件上传的文章已经多得满天飞了,这就是为什么本文有必要把注意力放在基于FTP的文件上传上了(但是在后面给出的例子中,两种方式你都会看到)。

要注意的是,本教程假设你已经安装好了PHP/Apache,而且HTTP文件上传和FTP的函数都已经激活了。

第一步:确信你拥有连接/上传到FTP服务器的权限PHP的FTP函数需要客户端-服务器连接,所以你需要在进行文件上传之前登录到目标服务器上。

你的第一项任务是确信你已经拥有了完成这项任务的信任书。

这一步可能看起来是理所当然的,但是你会惊奇地发现有多少开发人员忘了这么做,结果后来浪费大量的时间来解决因此而出现的问题。

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

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

FTP 函数

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

ftp_cdup — 切换到当前目录的父目录

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 = "";//tobe uploaded 

$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\n"; 

    exit; 

} else { 

    echo "上传文件错误: $file\n"; 

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

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门