首页 php教程 php手册 用PHP实现文件上传二法

用PHP实现文件上传二法

Jun 21, 2016 am 09:13 AM
ftp gt lt quot

上传

PHP(Hypertext Preprocessor)是一种 HTML 内嵌式的语言 (类似 IIS 上的ASP)。而 PHP 独特的语法混合了 C、Java、Perl 以及 PHP 式的新语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。除此之外,用 PHP 写出来的 Web 后端CGI 程序,可以很轻易的移植到不同的系统平台上。

  我们在做网站时,需要访问者的参于才能将网站建设得更加引人注目,这就要求我们从访问者那里得到文章、图片等。因此,文件上传成为网页中必不可少的功能。现在我就利用现在流行的编程语言PHP,用两种方法来说明其功能的实现。

一、利用php的文件函数来实现上传
  这段代码分为两个文件,一个为upload.html,一个是upload.php。


上传文件选择:upload.html 代码如下:


--------------------------------------------------------------------------------

  

上载文件表单

  

  


    

  
请选择文件:

      

    

  


  


  

  


--------------------------------------------------------------------------------

*** 说明 ***

  1、请注意
这是一个标签,我们要实现文件的上传,必须指定为 multipart/form-data ,否则服务器将不知道你在干什么!

  2、值得注意的是文件upload.html中表单选项 MAX_FILE_SIZE 的隐藏值域,通过设置

其Value(值)可以限制上载文件的大小。


处理刚刚上传的文件:upload.php 代码如下:


--------------------------------------------------------------------------------

  

  

  处理上载文件

  

  

  

  copy($userfile,"newfile");

  echo $userfile."-用户上传到服务器上的文件临时存放的名称
";

  echo $userfile_name."-在用户机器上该文件的原始名称
";

  echo $userfile_size."-上传文件的实际字节数
";

  echo $userfile_type."-如果用户的浏览器提供了这个信息的话,它表示mime的类型。例如image/gif
";

  ?>

  

  


--------------------------------------------------------------------------------

*** 说明 ***

  1、使用了PHP文件函数copy()将上载到临时目录下的文件拷贝到一个特定的目录下,并重新命名为"newfile"。

  2、在upload.html中定义了一个变量 userfile,在upload.php中,我们就可以使用这个变量,直接通过$userfile访问上载的文件,但由于这是一个保存文件的变量,因此文件名字必须通过另外一个$userfile_name变量取得。

  下面是这个变量的具体用法:

  $userfile:在将要存放上载文件的服务器上的临时文件名字。

  $userfile_name:在发送者系统中的初始文件名。

  $userfile_size:按字节计算的上载文件的大小。

  $userfile_type:多用途网际邮件扩充协议类型的文件,前提是浏览器提供这种信息,比如说“image/gif"。



二、利用FTP功能进行文件上传
  这段代码同样分为两个文件,一个为upload.php,一个是ftp.php。


设置ftp的相关选项及选择上传文件名:upload.php 代码如下:


--------------------------------------------------------------------------------

  
  $username="用户名";

  $password="用户密码";

  $server="主机名";

  $cdir="上传目录名" ;

//以上设置你的FTP主机名、用户名和用户密码

  ?>



  




    >

    >

    >

    >

  

  

    

  

  

    

  

  
上传文件选择

    

    




    

    


  



--------------------------------------------------------------------------------


处理上传文件:ftp.php 代码如下:


--------------------------------------------------------------------------------

  
//ftp联接主机函数

  function connect()

  {

  global $server, $username, $password;

  $conn = ftp_connect($server);

  ftp_login($conn, $username, $password);

  return $conn;

  }

//建立ftp联接

  $result = connect();

  if ($action == "上传")

  {

//用来改变ftp路径

  ftp_chdir($result, $cdir);

//用来上传指定的文件,同名并以二进制位传递

  $res_code = ftp_put($result, $upfile_name, $upfile, FTP_BINARY);

// 判断是否正确上传

  if ($res_code == 1)

echo "上传成功!";

  else

echo "上传错误!";

  }

// 关闭联接

  ftp_quit($result);

  ?>


--------------------------------------------------------------------------------

*** 说明 ***

  函数ftp_put(int ftp_stream, string remote_file, string local_file, int mode)用法

  返回值: 布尔值

  本函数用来上传指定的文件。参数 ftp_stream 为 FTP 的连接代码。参数 remote_file 为欲存在远端的文件名。参数 local_file 为欲上传文件的文件名。参数 mode 的值有 FTP_ASCII 及 FTP_BINARY 二种,分别表示文档或者是二进位文件。成功则返回 true 值,失败则返回 false 值。



本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

华为GT3 Pro和GT4的差异是什么? 华为GT3 Pro和GT4的差异是什么? Dec 29, 2023 pm 02:27 PM

许多用户在选择智能手表的时候都会选择的华为的品牌,其中华为GT3pro和GT4都是非常热门的选择,不少用户都很好奇华为GT3pro和GT4有什么区别,下面就就给大家介绍一下二者。华为GT3pro和GT4有什么区别一、外观GT4:46mm和41mm,材质是玻璃表镜+不锈钢机身+高分纤维后壳。GT3pro:46.6mm和42.9mm,材质是蓝宝石玻璃表镜+钛金属机身/陶瓷机身+陶瓷后壳二、健康GT4:采用最新的华为Truseen5.5+算法,结果会更加的精准。GT3pro:多了ECG心电图和血管及安

nginx反向代理ftp服务器怎么搭建 nginx反向代理ftp服务器怎么搭建 May 17, 2023 am 09:31 AM

1.安装nginx2.安装vsftpd3.修改nginx的配置文件nginx.conf  3.1首行添加ftp的用户  userftpuser;  3.2配置相关路径  server{    listen80;  #nginx代理的端口    server_namelocalhost;  #ftp服务器的地址    location/images{      root/home/ftpuser;  #代理ftp服务器的文件夹的绝对路径    indexftpuser;    #设置欢迎页    

在Go语言中使用FTP:完整指南 在Go语言中使用FTP:完整指南 Jun 17, 2023 pm 06:31 PM

随着互联网的快速发展,文件传输协议(FTP)一直是一种重要的文件传送方式。在Go语言中,使用FTP传输文件可能是很多开发人员的需求。然而,也许很多人并不知道如何在Go语言中使用FTP。在本篇文章中,我们将探讨如何在Go语言中使用FTP,从连接FTP服务器到文件传输,以及如何处理错误和异常。创建FTP连接在Go语言中,我们可以使用标准的"net"包来连接FTP

PHP与FTP:在网站开发中实现多个部门的文件共享 PHP与FTP:在网站开发中实现多个部门的文件共享 Jul 28, 2023 pm 01:01 PM

PHP与FTP:在网站开发中实现多个部门的文件共享随着互联网的发展,越来越多的企业开始借助网站平台进行信息发布和业务推广。然而,随之而来的问题是如何实现多个部门之间的文件共享和协作。在这种情况下,PHP和FTP成为了最常用的解决方案之一。本文将介绍如何利用PHP和FTP在网站开发中实现多个部门的文件共享。一、FTP介绍FTP(FileTransferPr

linux下 ftp命令有哪些 linux下 ftp命令有哪些 Mar 21, 2023 am 09:59 AM

linux下ftp命令有:1、ftp命令;2、close命令;3、disconnect命令;4、open命令;5、user命令;6、account命令;7、bye命令;8、quit命令;9、help命令;10、rhelp命令;11、ascii命令;12、binary/bi命令;13、bell命令等。

如何通过PHP在FTP服务器上进行目录和文件的比较 如何通过PHP在FTP服务器上进行目录和文件的比较 Jul 28, 2023 pm 02:09 PM

如何通过PHP在FTP服务器上进行目录和文件的比较在web开发中,有时候我们需要比较本地文件与FTP服务器上的文件,以确保两者之间的一致性。PHP提供了一些函数和类来实现这个功能。本文将介绍如何使用PHP在FTP服务器上进行目录和文件的比较,并提供相关的代码示例。首先,我们需要连接到FTP服务器。PHP提供了ftp_connect()函数来建立与FTP服务器

Linux中怎么添加/删除FTP用户并设置权限 Linux中怎么添加/删除FTP用户并设置权限 May 12, 2023 pm 08:46 PM

1.环境:ftp为vsftp。被设置用户名为test。被限制路径为/home/test2.创建建用户:在root用户下:useradd-d/home/testtest#增加用户test,并制定test用户的主目录为/home/testpasswdtest#为test用户设置密码3.更改用户相应的权限设置:1.usermod-s/sbin/nologintest#限定用户test不能telnet,只能ftp2.usermod-s/bin/bashtest#用户test恢复正常3.usermod-d

linux ftp 530什么意思 linux ftp 530什么意思 Mar 14, 2023 am 10:16 AM

linux ftp530的意思是linux ftp登录报错530,其解决办法:1、​查看“cat /etc/shells”是否有你用户的主目录和登录shell,若是没有,则进行添加;2、查看“/var/log/secure”文件,重新设置密码过期时间即可。

See all articles