php文件上传
ringa_lee
ringa_lee 2017-04-10 14:52:57
[PHP讨论组]

使用http://www.w3school.com.cn/php/php_file_upload.asp方案
客户端上传页面文件为 -rw-r--r-- 1 root root 244 Jul 16 15:59 test.html







-rw-r--r-- 1 root root 1106 Jul 16 15:54 upload.php 为上传接口

 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "
"; } else { echo "Upload: " . $_FILES["file"]["name"] . "
"; echo "Type: " . $_FILES["file"]["type"] . "
"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "
"; if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } ?>

drwxrwxr-x 2 root root 4096 Jul 16 15:54 upload为存储目录

可是服务器上文件不存在

目录存在,且应该有权限应该正确
下面是目录结构
-rw-r--r-- 1 root root 244 Jul 16 15:59 test.html
drwxrwxr-x 2 root root 4096 Jul 16 15:54 upload
-rw-r--r-- 1 root root 1106 Jul 16 15:54 upload.php


结算,问题出在upload这个目录的所有者身上

*************新的问题***************
在电脑中上传OK的,可是到手机APP就上传失败了,求解
准确的说是用手机流量上传就失败,用wifi连接上传就成功
*************新的结算***************
没有问题,是因为在公司我自己配置了dns,所以wifi没有问题,但是手机流量dns不正常,所以出错了,谢谢;

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
ringa_lee

如果你的程序没有返回错误信息,文件肯定是会在的,不在的情况,要么文件你自己没找到,要么文件目录没有权限

高洛峰

每次看到判断文件类型用$_FILES["type"] 来判断的人都应该拖出去斩了!!!!!!!!!!!应该用getimagesize($_FILES["tmp_name"]) 来获取当前上传的图片类型啊

还有,move_upload_file 之前,请用一下函数“is_uploaded_file($_FILES["tmp_name"])” 好么?

好了,给具体代码把

$allow_type = array(
    "image/gif", "image/jpeg", "image/jpg", "image/pjpeg",
);

$image_info = getimagesize($_FILES["file"]["tmp_name"]);
if(in_array($image_info["mime"], $allow_type) && $_FILES["file"]["size"] < 20000){
    if ($_FILES["file"]["error"] > 0){
        echo "Return Code: " . $_FILES["file"]["error"] . "\r\n";
        exit();
    }

    //开始上传了
    if(is_uploaded_file($_FILES["file"]["tmp_name"])){
        if(move_uploaded_file($_FILES["file"]["tmp_name"], "./upload/". $_FILES["file"]["name"])){
            echo "Upload: " . $_FILES["file"]["name"] . "<br />";
            echo "Type: " . $_FILES["file"]["type"] . "<br />";
            echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
            echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
            exit();
        }else{
            //上传出问题了
        }
    }else{
        //因为不是post  upload过来的file 所以我们不接受
    }
}else{
    echo "Invalid file";
}

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号