用PHP实现文件上传

 更新时间:2016年11月25日 16:15  点击:1339
一、利用php的文件函数来实现上传
   这段代码分为两个文件,一个为upload.html,一个是upload.php。
    上传文件选择:upload.html 代码如下:



       <html><head><title>上载文件表单</title></head>
       <body>
       <form enctype="multipart/form-data" action="upload.php" method="post">
         <input type="hidden" name="max_file_size" value="100000">
       <center>请选择文件:
         <input name="userfile" type="file">  
         <input type="submit" value="上传文件">
       </center>
       </form>
       </body>
       </html>


    *** 说明 ***
       1、请注意<form enctype="multipart/form-data"......>这是一个标签,我们要实现文件的上传,必须指定为 multipart/form-data ,否则服务器将不知道你在干什么!
       2、值得注意的是文件upload.html中表单选项 MAX_FILE_SIZE 的隐藏值域,通过设置
    其Value(值)可以限制上载文件的大小。
      处理刚刚上传的文件:upload.php 代码如下:



         <html>
         <head>
         <title>处理上载文件</title>
         </head>
         <body>
         <?
         copy($userfile,"newfile");
         echo $userfile."-用户上传到服务器上的文件临时存放的名称<br>";
         echo $userfile_name."-在用户机器上该文件的原始名称<br>";
         echo $userfile_size."-上传文件的实际字节数<br>";
         echo $userfile_type."-如果用户的浏览器提供了这个信息的话,它表示mime的类型。例如image/gif<br>";
         ?>
         </body>
      Zend Optimizer(以下简称ZO)用优化代码的方法来提高PHP 4.0应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。
       优化能提高你的盈利能力
      一般情况下,执行使用ZO的PHP程序比不使用的要快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。更快的反应同时也意味着可以节省硬件投资,并增强网站所提供的服务。所以,使用ZO,就等于提高了电子商务的盈利能力。
       
      ZO能给PHP用户带来很多益处,特别是那些运营网站的人。快速运行PHP程序可以显著降低服务器的CPU负载,并可以减少一半的反应时间,也就是从访问者点击链接到服务器开始读取页面之间的时间。
       
      系统需求
      当前版本的ZO(Beta 4)只能运行在PHP 4.0下。
       
      对操作系统的要求如下:
      - 基于glibc2.1的x86 Linux系统(Red Hat 6.1, Mandrake 7.0, Slackware 7.0及SuSE 6.1)
      - 基于glibc2的x86 Linux系统(Red Hat 5.2, SuSE 6.1)
      - 基于libc5的x86 Linux系统(Slackware 4.0, Debian 1.3.1r8)
      - Sparc Solaris 2.6, 7和8
      - FreeBSD 3.4和4.0
      - Windows NT 4.0(不包括其它版本的Windows)
      对PHP的要求如下:
      - PHP 4.0.0:以外的版本均不被支持
      - 同时支持CGI方式和Apache模块方式
      - 在Windows下,PHP必须:1)是从http://www.php.net上下载的现成的WIN32执行版本;2)自己编译时带"Release_Ts"(Release Thread Safe)选项的。
       
      安装过程
      -UNIX
      1 编译PHP,不要加调试选项-否则ZO不会工作:在配置是加上--disable-debug选项
      2 复制ZendOptimizer.so文件到你的机器,通常放在:/usr/local/Zend/lib下
      3 在php.ini文件中加入如下两行,不要包含任何空格:
      zend_optimizer.optimization_level=7
      zend_extension="/usr/local/Zend/lib/ZendOptimizer.so"
      4 重新启动Apache服务器
      -WINDOWS
      1 从http://www.php.net下载WINDOWS版的PHP 4.0.0,这个版本不包含调试特性。
       
      2 复制ZendOptimizer.dll文件到你的机器,通常放在:C:Program Filesendlib下
      3 在php.ini文件中加入如下两行,不要包含任何空格:
      zend_optimizer.optimization_level=7
      zend_extension_ts="C:Program FilesendlibendOptimizer.dll"
      PHP 经常和Apache Web服务器一道用于Linux/Unix平台。当我们在Apache环境下安装PHP的时候,你有三种安装模式可供选择:静态模块、动态模块(DSO)和CGI。
       
        我建议你最好把PHP安装为Apached的DSO ,这种安装模式的维护和升级都相当简单。比方说,假设你原先只安装了PHP的数据库支持功能。可过了几天之后你又决定要为PHP添加加密功能。很简单,你只要键入make clean命令,然后增加新的配置选项,接着再执行make和 make install命令即可。这样,新的PHP模块就会被安装到Apache上的恰当位置,你只要重新启动Apache就一切OK了,当然,整个过程完全不用重新编译Apache。
       
      安装新版本的Apache以及安装作为Apache DSO的PHP的简单步骤如下所示:
      1. 从Apache软件基金会这一站点下载Apache服务器软件的最新版本源代码。
       
      2. 把代码文件放到/usr/local/ 或者/opt/ 等合适的目录下。
       
      3. 用Gunzip命令对代码文件解压缩,然后你可以得到相应的*.tar文件。
       
      4. 键入以下的解包命令把以上的tar文件放到形为apache_[version]的目录下:
      tar -xvf apache_[version].tar
      5. 进到/usr/local/apache_[version] 目录(或者在上面步骤中你所指定的目录)。
       
      6. 键入下面的配置命令,用你设定的路径(比如/usr/local/apache[version]等,注意后面不要跟斜线!)取代[path]参数,同时你还要启用mod_so参数以允许Apache使用DSO。
       
      ./configure --prefix=[path] --enable-module=so
      7. 回到命令提示行键入make命令并等待命令执行完成再次回到命令提示状态下。
       
      8. 键入make install。
       
      到这个时候,编译器即可创建最终的目录并返回到系统的命令提示状态下。
       
      接下来安装PHP:
      1. 访问PHP主页的下载区域选中最新版本源代码的链接。
       
      2. 把下载的文件放到/usr/local/ 或者/opt/等适当的目录下。
       
      3. 用Gunzip命令对代码文件解压缩,然后你可以得到相应的*.tar文件。
       
      4. 键入以下的解包命令把以上的tar文件放到形为php-[version]的目录下:
      tar -xvf php-[version]
      5. 进到/usr/local/php-[version]目录下(或者你指定的目录)。
       
      现在即可编译PHP DSO,其实这里只需要一个必要的配置选项--with-apxs(Apache bin目录下的一个文件)--不过,为了系统配置更为全面,我们在这里还增加了对MySQL数据库的支持。
        大家知道,php是一种PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页。当用户打开php页面时,服务端便执行PHP的命令并将执行结果发送至用户的浏览器中,这类似于ASP和CoildFusion,PHP可以运行在WINDOWS和多种版本的UNIX上。除了能够操作您的页面外,PHP还能发送HTTP的标题。您可以设置cookie,管理数字签名和重定向用户,而且它提供了极好的连通性到其它数据库(还有ODBC),集成各种外部库来做用PDF文档解析XML的任何事情。那你还知道可以用php的强大功能做点别的东西吗?
        在以独立的cgi方式运行时,需要一个php可执行程序,他有很多命令行参数的,有些可以用作很好玩的用途,下面是全部的php命令行参数,其中[]表示可有可无的,<&gt;表是一定要的。
      用法 php [-q] [-h] [-s] [-v] [-i] [-f ] | { [args...]}
        -q 安静模式。不输出HTTP头。
        -s 将php程序文件用转化为彩色格式的HTML(比如保留字用绿色,函数和变量为蓝色,注释为黄色而字串则是红色等等。
        -f 读入并解释指明的文件。
        -c 在中读入php.ini文件
        -a 交互式运行
        -d foo[=bar] 定义ini中的输入项 foo 的值为 bar
        -e 输出额外信息以便调试和性能分析
        -z 调入Zend扩展文件
        -i php的相关信息
        -h help本身。
      哈,知道如何利用它了吗?
      对了,
      1.用php -q 文件名.php 方式把php程序当shell程序来用,
      2.用 -s把自己的php程序html化。这样是不是很省心?
      3.利用php的odbc功能可以在shell命令中对数据库进行操作。
      还有很多,就看你的创意了。哦,别忘了告诉我一声。


        现在有越来越多的个人主页站长需要了解如何如何在windows系统下配置自己的php,cgi服务器,以方便本地调试cgi和php的程序。
        我们可以用Apache(windows版)来一次搞定:以下由我自己整理的关于在单机Windows环境下的安装和配置 Apache Server 的文章。如果您正在 Windows 单机环境下测试自己的网站,建议您参考一下。
        主要包括:安装和配置 Apache Server;使用 Perl CGI 脚本;使用 PHP 脚本。
       
      --部分内容参考《Apache Server 系统管理员手册》。
       
        一、Windows 下的安装
        当然,你首先得要有Apache的安装程序。不妨先到http://www.apache.org/dist看看。在这里有世界范围的Apache镜像站点列表,找到离你最近的那个。如果在国内,这里建议你到软件屋去看看。A pache的安装程序一般的文件名是apache_1_3_x.win32.exe。把它当到你机器里,运行它。
        安装程序会提示你修改Apache安装的缺省目录位置C:Program FilesApache GroupApache。为了方便以后的配置和维护,建议你安装在根目录下,比方C:Apache。之后,你会被提示选择安装类型,建议你选择Cus tom(定制),这样,你将知道安装了些什么。具体项目有Application File(应用程序文件)、Source Code(源代码)、Apache Manual(Apache 手册)、Additional Modules(附加模块)、Icons(图标)、Repuired Directories(必须目录)。你可以根据你的情况来决定如何安装。
        一切顺利的话(此时不应该有什么问题了),安装很快就会完成。Apache会自动的完成一些基本配置,你可以用UltraEdit-32(或者是其他的文本编辑软件)打开c onfhttpd.conf文件大致了解一下。
        二、配置 Apache Server
        这里首先进行的是基本的配置,以便你的Apache Server以你的意愿运行起来。
        用UltraEdit-32(或者是其他的文本编辑软件)打开confhttpd.conf文件。
        1、寻找到ServerName。这里定义你的域名。这样,当Apache Server运行时,你可以在浏览器中访问自己的站点。如果前面有#,记得删除它,这是conf的注释标记。
        2、寻找到ServerAdmin。这里输入你的E-Mail地址。如果你仅仅是单机使用,改不改没什么关系。
        3、寻找到。向下有一句Options,去掉后面所有的参数,加一个All(注意区分大小写!下同。);接着还有一句Allow Override,也同样去掉后面所有的参数,加一个All。
[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • Php文件上传类class.upload.php用法示例

    本文章来人大家介绍一个php文件上传类的使用方法,期望此实例对各位php入门者会有不小帮助哦。 简介 Class.upload.php是用于管理上传文件的php文件上传类, 它可以帮...2016-11-25
  • js实现上传图片及时预览

    这篇文章主要为大家详细介绍了js实现上传图片及时预览的相关资料,具有一定的参考价值,感兴趣的朋友可以参考一下...2016-05-09
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • jQuery实现简单的文件上传进度条效果

    本文实例讲述了jQuery实现文件上传进度条效果的代码。分享给大家供大家参考。具体如下: 运行效果截图如下:具体代码如下:<!DOCTYPE html><html><head><meta charset="utf-8"><title>upload</title><link rel="stylesheet...2015-11-24
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07