1

我希望用户必须从他/她的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

4 回答 4

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

于 2013-01-23T07:16:43.093 回答
0

如果你能得到文件的绝对路径,你就可以做你想做的事。如果你能得到文件的绝对路径,如果路径不是“C:\”,你可以做一个简单的相等性测试。

但是出于安全目的,内置的输入类型文件不会给您任何提示。

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

于 2013-01-23T07:25:31.440 回答
0

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

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

于 2013-01-23T08:12:34.690 回答
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>

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

享受...

于 2013-02-19T06:11:35.237 回答