最近自己闲的没事,架一个了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 =100Mupload_max_filesize =100Mfile_uploads = on重新 配置一遍!问题还是一样,没有任何改变!这时,我真急了,老子一点点跟踪查询,就不相信查不到问题所在:于是跟踪上传时的网络传输情况,发现uc_server/index.php?m=user&inajax=1&a=uploadavatarappid=2&input=***********************返回值一直为-4于是找到相关代码 发现 /uc_server/control/user.php中有段代码list($width, $height, $type, $attr) = getp_w_picpathsize($_FILES['Filedata']['tmp_name']);
使用了 getp_w_picpathsize 函数,而这个函数只可以取 工作目录中的 图片信息,工作目录以外的文件是获取不到的,但我这里面php中的上传临时目录upload_tmp_dir=/tmp,所以一直返回-4!解决办法:把php.ini中的upload_tmp_dir=/你网站的工作目录中/tmp当然 可能 还有高手有其它的解决办法 希望能在这里分享一下,大家一起学习一下!
我的技术分享空间: 欢迎大家去 顶顶人气
是一个 可以让你放松一下,让你抛掉一天烦恼,带着笑容回家,给家人带来一份快乐的圣地!