从固定目录上传Php文件

时间:2013-01-23 07:12:40

标签: php html

我希望用户必须从他/她的C驱动器上传文件,他们无法从其他驱动器上传文件。

我的上传代码就在这里。

<form action="upload.php" method="post" enctype="multipart/form-data">
File: <input type="file" name="filename" />
<input type="submit" value="Upload" />
</form>

$file_name = $_FILES['fupload']['name'];

$file_type = $_FILES['fupload']['type'];

print "Path: ".$_FILES['fupload']['tmp_name']."<br />";

print "Name: $file_name <br />";

print "Size: ".$_FILES['fupload']['size']."<br />";

print "Type: $file_type <br />";

if(copy($_FILES['fupload']['tmp_name'], "$file_name"))
{
    print "Upload Success";
}
else
{
    print "Error occur";
}

4 个答案:

答案 0 :(得分:1)

无法强制用户从特定驱动器上传文件。

从php.net查看此链接:$_FILES

这些都是你能做到的了解上传的文件:

 [name] => 400.png // file name
 [type] => image/png // file type
 [tmp_name] => /tmp/php5Wx0aJ // file temp name
 [error] => 0 // file uploading error
 [size] => 15726 // file size

对于JavaScript,您可以看到以下问题:Javascript: Listing File and Folder Structure

答案 1 :(得分:0)

如果您可以获取文件的绝对路径,则可以执行您想要的操作。 如果可以获取文件的绝对路径,则可以进行简单的相等测试 如果路径不是“C:\”。

但内置的输入类型文件不会给你任何暗示 这是出于安全目的。

如果您可以制作自己的上传表单,那么您可以使用输入类型文件,但这是不可能的。

答案 2 :(得分:0)

您可以编写/使用在客户端处理上载的Java Applet。在那里,您可以检查实际的文件路径。但是,如果用户只是在上传文件之前将文件复制到C:那对您无济于事。我没有看到尝试这一点的任何意义。

使用HTML / JavaScript / PHP是不可能的。

答案 3 :(得分:0)

This is only possible IE.


<head>
    <script type="text/javascript">
        function CheckAndSubmit () {
            var uploadForm = document.getElementById ("uploadForm");
            var uploadFile = document.getElementById ("uploadFile");
            var fileinfo = document.getElementById ("fileloc");

            if (uploadFile.value.length == 0) {
                alert ("Please specify the path to the file to upload!");
                return;
            }
            //alert(document.uploadForm.uploadFile.value);

            fileinfo.value=uploadFile.value;


            uploadForm.submit ();
        }
    </script>
</head>
<body>
    <?php
        //if(isset($_POST['uploadFile']))
            print_r($_POST);
    ?>
    <form id="uploadForm" name="uploadForm" method="post" enctype="multipart/form-data" action="">
        Select a file: <input type="file" name="uploadFile" id="uploadFile" size="25" />
        <input type="hidden" id="fileloc" name="fileloc" value="" />
        <br /><br />
        <input type="button" value="Upload" onclick="CheckAndSubmit ()"/>
    </form>
</body>

如果未显示完整路径&gt;&gt; 1.打开Internet Explorer互联网选项&gt;安全&gt;自定义级别&gt; 2.然后在上传时启用包含本地目录文件路径....

...享受