php的内置函数exec,system都可以调用系统命令(shell命令),当然还有passthru,escapeshellcmd等函数。
在很多时候利用php的exec,system等函数调用系统命令可以帮助我们更好更快的完成工作。
注意:要想使用这二个函数 php.ini 中的安全模式必须关闭,要不然为了安全起见php是不让调用系统命令的。
php的内置函数exec,system都可以调用系统命令(shell命令),当然还有passthru,escapeshellcmd等函数。
在很多时候利用php的exec,system等函数调用系统命令可以帮助我们更好更快的完成工作。
注意:要想使用这二个函数 php.ini 中的安全模式必须关闭,要不然为了安全起见php是不让调用系统命令的。
(1) safe_mode:以安全模式运行php;
(2) safe_mode_include_dir: 无需UID/GID检查的目录;
(3) open_basedir: 将用户可操作的文件限制在某目录下;
(4) disable_functions:设置禁用函数;
(5) register_globals: 禁止注册全局变量;
(6) magic_quotes_gpc: 令敏感字元转义
总结:
serialize --------- 将数组格式化成有序的字符串
unserialize ----- 将数组还原成数组
PHP程序上传文件时,想指定上传到另一台服务器。
move_uploaded_file这个方法第二个参数指定的存放路径需要和php程序文件一个服务器,没办法指定其他服务器的地址,本人才疏学浅,哪位大哥会的还请赐教下。
既然不能这样实现,肯定有其他办法的,想着ftp也可以实现文件传输的哇,继而朝ftp方向入手。
首先,在自己台式机和笔记本上都开通了ftp,这个不会的同学可以网上查serv-u,相关教程肯定不少的。
那是因为php.ini中关闭了错误显示,将错误写成了文件,这是人为设置的结果,display_errors =on就好了。
不过不显示错误倒安全点,建议调试时打开,然后提供服务时关闭。
在php.ini里面可以设置最大上传文件大小
解决方法:
第一:
在php.ini里面查看如下行:
upload_max_filesize = 8M post_max_size = 10M memory_limit = 20M
使用PHP操作FTP-用法
<? // 联接FTP服务器 $conn = ftp_connect(ftp.server.com); // 使用username和password登录 ftp_login($conn, “john”, “doe”);
实战经验:
当我利用上述代码给另一台服务器发送http请求时,发现,如果服务器处理请求时间过长,本地的PHP会中断请求,即所谓的超时中断,第一个怀疑的是PHP本身执行时间的超过限制,但想想也不应该,因为老早就按照这篇文章设置了“PHP执行时间限制”(【推荐】PHP上传文件大小限制大全 ),仔细琢磨,想想,应该是http请求本身的一个时间限制,于是乎,就想到了怎么给http请求时间限制搞大一点。。。。。。查看PHP手册,果真有个参数 “ timeout ”,默认不知道多大,当把它的值设大一点,问题得已解决,弱弱地做个笔记~~~
PHP的 ini_set函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效。不是所有的选项都能被改函数设置的。具体那些值能够设置,可以查看手册中的列表。
就是能够设置php.ini中的选项值比如,display_error选项关闭了,但是你要显示程序中的错误信息,方便你调试程序,那么就可以使用PHP ini_set函数:
ini_set("display_errors", "On");