最近自己闲的没事,架一个了discuz论坛,想学习一下,系统的架构理念!
但遇到了一个头疼的问题,就是用户在点击 --》设置--》修改头像---》选择上传照片时
一直提示“Can not write to the data/tmp folder!”
起先我也以为是服务器的/uc_server/data/tmp目录权限问题,不论我是ftp工具直接修改目录权限777,
还是chmod -R 777 data/tmp,都是一样,还是报“Can not write to the data/tmp folder!”。
后来我想可能是php上传配置问题:
于是把php.ini中的
max_file_uploads
post_max_size =100M
upload_max_filesize =100M
file_uploads = on
重新 配置一遍!
问题还是一样,没有任何改变!
这时,我真急了,老子一点点跟踪查询,就不相信查不到问题所在:
于是跟踪上传时的网络传输情况,发现http://www.geligreat.com/uc_server/index.php?m=user&inajax=1&a=uploadavatarappid=2&input=***********************
返回值一直为-4
于是找到相关代码 发现 /uc_server/control/user.php中有段代码
list($width, $height, $type, $attr) = getimagesize($_FILES[‘Filedata‘][‘tmp_name‘]);
使用了 getimagesize 函数,而这个函数只可以取 工作目录中的 图片信息,工作目录以外的文件是获取不到的,但我这里面php中的上传临时目录upload_tmp_dir=/tmp,所以一直返回-4!
解决办法:把php.ini中的upload_tmp_dir=/你网站的工作目录中/tmp
当然 可能 还有高手有其它的解决办法 希望能在这里分享一下,大家一起学习一下!
我的技术分享空间:http://www.geligreat.com/ 欢迎大家去 顶顶人气
得瑟一下吧 http://www.geligreat.com/forum-51-1.html 是一个 可以让你放松一下,让你抛掉一天烦恼,带着笑容回家,给家人带来一份快乐的圣地!