问题最后老是在网站根目录下得不到上传的文件,可以再根目录下创建文件夹,为什么目录中总是接收不到上传的文件呢,
权限问题?还是PHP.ini设置问题?因为想要做个进度条什么的,就没有用form表单,前台用了Ajax的方法,不知道会不会有影响。
echo $_FILES"find_post_file_btn" 和 echo $_FILES"find_post_file_btn"都为空。。
我就郁闷了,不知道原因,请大牛们指教。
第一个问题:网站根目录下得不到上传的文件;
答:你这里"../data/showcase",是一个相对目录,和你的程序目录比较难处理,同时,在PHP操作程序时,你这们的写法在不同系统下可能有问题,这里最好的解决方法,用程序找出网站的根目录的绝对路径: $ROOT_DIR = dirname(dirname(__FILE__));注:这里的dirname层次要看你的程序文件相对根目录的层次.
这样,你可以用$path = $ROOT_DIR."/data/showcase",
if (!is_dir($path)) {
mkdir($path); //mkdir($path, 777);
}else{
move_uploaded_file($_FILES["post_file"]['tmp_name'], $path.'/'.$_FILES"post_file");
echo "UPLOAD_OK";
}
第二,在PHP实中实现上传进度条相对困难,纯php模块是实现不了的,要借用其实模块,如APC等之类.即使用iframe,ajax之类做进度条,只是用一个“.gif”文件显示一个“进度”,实际并不是数据上传到服务器的过程进度。
如果要实现比较好的进度,要在javascript,php都比较好的基础才能较好的实现,如果有兴趣,可以用swfupload这个flash上传工具,可以实现很的上传进度。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。