开发者社区> 问答> 正文

为什么目录中总是接收不到上传的文件

screenshot
问题最后老是在网站根目录下得不到上传的文件,可以再根目录下创建文件夹,为什么目录中总是接收不到上传的文件呢,
权限问题?还是PHP.ini设置问题?因为想要做个进度条什么的,就没有用form表单,前台用了Ajax的方法,不知道会不会有影响。
echo $_FILES"find_post_file_btn" 和 echo $_FILES"find_post_file_btn"都为空。。
我就郁闷了,不知道原因,请大牛们指教。

展开
收起
吴孟桥 2016-06-06 18:11:45 2450 0
1 条回答
写回答
取消 提交回答
  • 第一个问题:网站根目录下得不到上传的文件;

    答:你这里"../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上传工具,可以实现很的上传进度。

    2019-07-17 19:29:11
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
附件下载测试 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载