多数大学生出来选择的工作和专业无关
首页 > 专业知识

PHP限制上传文件大小的具体解决办法

时间:2018-11-10 17:16:26 [来源]:郑州PHP培训学校

   PHP限制上传文件大小的具体解决办法

  PHP限制上传文件大小的具体节办法包括修改php.ini里的设置值,或者可以将php.conf里的具体参数,这样一些具体问题就能解决了。
  我们在具体的实践中会发现在php.ini中设置文件上传大小的时候会非常麻烦,而且还很容易出错。那么,今天我们就教大家几种具体的PHP限制上传文件大小的解决办法。
  PHP安全常识之验证数据
  PHP保护文件系统的具体代码分享
  PHP保护数据库的具体代码示例
  探讨主要的PHP应用领域
  基于PHP的AJAX技术的具体应用解析
  解决方法:
  PHP限制上传文件大小第一:
  在php.ini里面查看如下行:
  upload_max_filesize = 8M
  post_max_size = 10M
  memory_limit = 20M
  把这些值改成我所说的,看看有没有问题,另外要确认上传的 <form> 里没有类似下面的这行<input type="hidden" name="MAX_FILE_SIZE" value="500000">这样也是限制上传大小用的。
  PHP限制上传文件大小第二:
  如果是apache 2 需要修改
  /etc/httpd/conf.d/php.conf
  中的LimitRequestBody 524288将524288(=512×1024)改大,比如5M(=5×1024×1024)在PHP限制上传文件大小之后,文件上传就不会出现如上问题,上传不响应,上传现实该页无法现实也将得到解决!
  基于PHP的AJAX技术的具体应用解析
  基于PHP的AJAX技术构建异步的文件上传功能,主要是为了实现页面在上传文件的时候,用户还可以使用该页面并且填写文件描述。
  我们今天为大家带来的是有关基于PHP的AJAX技术的具体应用。主要是关于基于PHP的AJAX技术在实现文件异步上传上的具体操作方法。异步的文件上传是在现代的AJAX实现的Web应用里面经常要遇到,必须解决的问题。
  但是标准的AJAX类(XmlHttpRequest)无法实现传输文件的功能。因此,这里讨论的内容就是如何在基于PHP的AJAX技术的基础之上构建异步的文件上传功能。在这个功能当中需要使用到内置的框及(IFRAME)来传输文件。这个功能实现的效果是页面在上传文件的时候,用户还可以使用该页面并且填写文件描述。
  这个例子是我们引用AJAX的经典案例进行分析的。
  系统环境
  · 较新版本的浏览器。例如Opera,Firefox或者 Internet Explorer。
  · PHP 4.3.0 或更高版本
  · PHP 5 版本
  · PHP 中的 'short_open_tag' 选项开启(否则会发生解析错误)。
  基于PHP的AJAX技术功能分析
  通过内置的IFRAME(框架)进行文件上传。具备包括三个部分组成。
  · 在页面中间有一个简单的<form...表单,表单只包含了<input type="file" ... >控件。这个表单的目标链接就是一个隐藏得IFRAME(通过 CSS的风格" display: none;"实现)并且表单里面唯一一个控件的OnChange事件用来触发javascript函数。这个函数的作用是检查用户提交的扩展名,然后提交表单。
  · 在服务器端用PHP编写了一个处理过程(用FILEFRAME坐注释了)。这个处理过程用来把从客户端上传的文件进行检查后保存在服务器,并且通过 Javascript代码的形式返回给用户。返回给用户的Javascript脚本通过"parent.window.document"更改了用户现在正在查看的页面,设置了文件的名称并启用了让用户提交表单的按钮。启用按钮的操作是通过getElementById函数实现的。
  · 在主页面还有一个表单,它包含了用户提交的描述和隐藏的文件名。用户可以在文件上传的同时填写文件的描述。当文件上传结束以后,用户点击按钮,就可以看上传以后返回给用户的文件信息了。(通过返回来的文件名和用户输入的描述构成文件信息)。
  可能你会说这么操作不符合常理:文件在用户确认之前就已经被提交了。如果用户没有提交的话,情况会如何呢。你可以自己在扩展处理被用户放弃的文件。
  这个例子把文件存储在一个文件系统的目录下。你需要在脚本开始运行的时候配置下这个目录,具体的包含这个目录信息的变量是$upload_dir 和$web_upload_dir。这里有一个对目录是否可写的权限检查。
  这里我们用到了以下几个PHP函数:
  · move_uploaded_file - 转移一经上传到服务器的文件· fopen - 打开文件
  · fwrite - 把内容写入文件
  · fclose - 关闭文件
  · str_replace - 替换字符串
  · filesize - 返回文件大小
  · filemtime - 返回处理时间
  在运用基于PHP的AJAX技术时你可以通过手册查到这些函数如何使用。请注意要把HTM(<, >, &)标记替换为(&lt;, &gt; 和 &amp;).
  探讨主要的PHP应用领域
  PHP应用领域总的来说可以分为三大类:服务端脚本、命令行脚本、编写桌面应用程序。除了这三大领域之外,它还能扩展到更加广泛的领域中。
  我们在通过对PHP语言的学习,了解到它的功能是十分强大的,它的使用范围也比较广泛。今天,我们就来具体了解PHP应用领域的主要三大方面:
  PHP函数array_merge()与加号运算符的不同
  PHP应用领域1、服务端脚本。
  这是 PHP 最传统,也是最主要的目标领域。开展这项工作需要具备以下三点:
  A、PHP 解析器(CGI 或者服务器模块)、
  B、web 服务器、
  C、web 浏览器。
  需要在运行 web 服务器时,安装并配置 PHP,然后,可以用 web 浏览器来访问 PHP 程序的输出,即浏览服务端的 PHP 页面。
  如果只是实验 PHP 编程,所有的这些都可以运行在自己家里的电脑中。
  PHP应用领域2、命令行脚本。
  可以编写一段 PHP 脚本,并且不需要任何服务器或者浏览器来运行它。
  通过这种方式,仅仅只需要 PHP 解析器来执行。
  这种用法对于依赖 cron(Unix 或者 Linux 环境)或者 Task Scheduler(Windows 环境)的日常运行的脚本来说是理想的选择。
  这些脚本也可以用来处理简单的文本。
  PHP应用领域3、编写桌面应用程序。
  对于有着图形界面的桌面应用程序来说,PHP 或许不是一种最好的语言,但是如果用户非常精通 PHP,并且希望在客户端应用程序中使用 PHP 的一些高级特性,可以利用 PHP-GTK 来编写这些程序。用这种方法,还可以编写跨平台的应用程序。
  PHP-GTK 是 PHP 的一个扩展,在通常发布的 PHP 包中并不包含它。
  如果对 PHP-GTK 感兴趣,请访问其网站以获取更多信息。
  4、PHP应用领域还能扩展到更加广泛的地步:
  PHP 还支持利用诸如LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows环境)等不计其数的协议的服务。
  还可以开放原始网络端口,使得任何其它的协议能够协同工作。
  PHP 支持和所有 web 开发语言之间的 WDDX 复杂数据交换。
  关于相互连接,PHP 已经支持了对 Java 对象的即时连接,并且可以将他们自由的用作 PHP 对象。
  甚至可以用我们的 CORBA 扩展库来访问远程对象。
  PHP 具有极其有效的文本处理特性,
  支持从 POSIX 扩展或者 Perl 正则表达式到 XML 文档解析。
  为了解析和访问 XML 文档,PHP 4 支持 SAX 和 DOM 标准,也可以使用 XSLT 扩展库来转换 XML 文档。
  PHP 5 基于强健的 libxm2 标准化了所有的 XML 扩展,并添加了 SimpleXML 和 XMLReader 支持,扩展了其在 XML 方面的功能。
  5、如果将PHP应用领域扩展到电子商务。
  会发现其Cybercash 支付、CyberMUT、VeriSign Payflow Pro以及 MCVE 函数对于在线交易程序来说是非常有用的。
  6、另外,还有很多其它有趣的扩展库。
  例如: mnoGoSearch搜索引擎函数、IRC 网关函数、多种压缩工具(gzip、bz2)、日历转换、翻译……

上一篇:PHP获取远程URL的实例讲解

下一篇:PHP将URL转换成短网址的算法分享