为什么修改了upload_tmp_dir却没有作用,该怎么处理?

【前言】

【主体】

  我在控制器中输出打印临时文件位置

dump($_FILES['thumb']);

 浏览器显示的tmp_name临时文件为系统默认位置,即使我修改了php.ini里的upload_tmp_dir,设置为自定义的临时目录,重启apache,phpinfo()的结果也是我设置的目录了。


可上传文件的临时目录还是默认的/tmp,这是什么原因?

谷歌了半天发现网上方法众说纷纭,有的方案甚至是相反的,大多数随意转载的。。。。

走了不少弯路,但唯一肯定的应该是权限问题。所以又找了下,终于找到一种切实可行的方案

【方案】

1. 用文本编辑器打开 /usr/local/php/etc/php.ini 找到以下位置:

upload_tmp_dir = /data/wwwroot/tmp

2. 检查 /data/wwwroot/tmp 是否可读写。

Linux 下,可以简单的设置 

chmod 0777 /data/wwwroot/tmp

Windows 下,在目录上点击右键,设置安全 > 目录权限,加入 everyone 可读写。

解决完毕,浏览器临时目录输出为

array(5) {
  ["name"] => string(27) "2PQ_23XN5@]9RXI(9AF`4GG.png"
  ["type"] => string(9) "image/png"
  ["tmp_name"] => string(37) "/phpstudy/www/Public/Upload/phpDeXhYN"
  ["error"] => int(0)
  ["size"] => int(19775)
}

.

猜你喜欢

转载自570109268.iteye.com/blog/2422474