PHP上传dir而不是web root(htdocs)文件夹?

时间:2013-03-25 05:52:43

标签: php file-upload

是否可以将上传目录更改为除htdocs文件夹以外的PHP中的其他目录?因为我不希望我的文件直接暴露给网络。可以吗?我使用我的桌面作为上传位置,但文件没有上传到这里!这是我的代码:

<?php
    if(isset($_FILES['image'])){
            $errors= array();
            $file_name = $_FILES['image']['name'];
            $file_size =$_FILES['image']['size'];
            $file_tmp =$_FILES['image']['tmp_name'];
            $file_type=$_FILES['image']['type'];   
            $file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));

            $expensions= array("txt");      
            if(in_array($file_ext,$expensions)=== false){
                $errors[]="extension not allowed, please choose a JPEG or PNG file.";
            }
            if($file_size > 2097152){
            $errors[]='File size must be excately 2 MB';
            }               
            if(empty($errors)==true){
                move_uploaded_file($file_tmp,"/home/abhi/Desktop/uploads/".$file_name);
                echo "Success";
            }else{
                print_r($errors);
            }
        }
    ?>

    <form action="" method="POST" enctype="multipart/form-data">
    <input type="file" name="image" />
    <input type="submit"/>
    </form>

1 个答案:

答案 0 :(得分:0)

是的,它可能。保存到的文件夹必须具有运行Web服务器的“用户”的正确权限。看看Can I find which user the web server is being run as in PHP?