ini_set()具有更改php.ini设置的功能。此函数接收两个参数:需要调整的配置变量名,以及变量的新值。

[c-sharp] view plaincopyprint?

  1. <?php

  2. ini_set('max_execution_time','10');

  3. ini_set('memory_limit','1024M');

  4. echo 'max_execution_time = ' . ini_get('max_execution_time') ;

  5. echo 'memory_limit = ' . ini_get('memory_limit') ;

  6. echo 'upload_max_filesize = ' . return_bytes(ini_get('upload_max_filesize'));

  7. echo 'post_max_size = ' . ini_get('post_max_size') . "/n";

  8. echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "/n";

  9. echo 'post_max_size in bytes = ' . return_bytes(ini_get('post_max_size'));

  10. function return_bytes($val) {

  11. $val = trim($val);

  12. $last = strtolower($val{strlen($val)-1});

  13. switch($last) {

  14. // The 'G' modifier is available since PHP 5.1.0

  15. case 'g':

  16. $val *= 1024;

  17. case 'm':

  18. $val *= 1024;

  19. case 'k':

  20. $val *= 1024;

  21. }

  22. return $val;

  23. }

  24. ?>;

  25. //最后三行输出如下:

  26. post_max_size = 8M

  27. post_max_size+1 = 9

  28. post_max_size in bytes = 8388608

这样的设置将仅仅影响被设置的脚本。一旦脚本执行完毕,该变量将自动恢复到原始值。

注意:

1.php.ini文件中,并不是所有的设置项都是以integer型存储的,比如upload_max_filesize项就是以简写形式( shorthand notation)存储的,因此直接用ini_get()并不能获得正确的值,可以调用上例中return_bytes()函数进行转换。

2.并不是所有的available options都可以通过ini_set()函数来修改。具体哪些可以通过ini_set()函数来修改,参见http://www.phpeye.com/phpmanual/ini.list.html

如下图所示:

其中“可修改范围”的定义如下表:

因此,像post_max_size,upload_max_filesize用下面的方法是修改不了的。

  1. ini_set('post_max_size','1024M');

  2. ini_set('upload_max_filesize','1024M');

正确做法是用.htaccess文件:

  1. php_value upload_max_filesize 50M

  2. php_value post_max_size 100M

最新文章

  1. 前端读取Excel报表文件
  2. Generate Time Data(财务日期主数据)
  3. iOS 文档分享相关
  4. 昨天在公司加班,上午好像就是弄一个ftp的linux服务问题
  5. 基于51单片机+DAC0832的信号发生器
  6. AngularJS+ckEditor管理ng-model
  7. kbengine mmo源码(完整服务端源码+资源+完整客户端源码)
  8. 失败的数据库迁移UDB
  9. STL笔记之set
  10. Git 查看/修改用户名、邮箱
  11. 禁用JavaScript控制台调试
  12. 【XSY2032】简单粗暴的题目 组合数
  13. ch01 PHP开篇
  14. bzoj1036点权模板题
  15. Centos7找不到ifconfig和netstat命令
  16. jenkins的pipeline的使用
  17. WEB前端问题——img标签的onclick事件无法响应问题【转载】
  18. python 元组编码和解码问题
  19. pandas的连接函数concat()函数
  20. Ansible Playbook Variables

热门文章

  1. 【读书笔记】Elasticsearch集成Hadoop最佳实践
  2. Activity组件(传递数据)
  3. Mysql主要索引方式:FULLTEXT,HASH,BTREE,RTREE。
  4. Delphi 设置时间格式
  5. SQL Server 跨数据库事务
  6. 倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3
  7. java 压缩和解压zip包
  8. HTTP——代理协议 HTTP/1.1的CONNECT方法
  9. 记一次R的可视化使用-生成城市各个景点的多边形图
  10. 【Python3 爬虫】08_正则表达式(元字符与语法)