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:ファイルとフォルダーの構造の一覧表示

于 2013-01-23T07:16:43.093 に答える
0

ファイルの絶対パスを取得できれば、やりたいことができます。ファイルの絶対パスを取得できれば、パスが「C:\」でない場合に簡単な等価性テストを実行できます。

ただし、組み込みの入力型ファイルは、セキュリティ上の目的のため、これに関するヒントを提供しません。

独自のアップロード フォームを作成できる場合は可能ですが、入力タイプ ファイルを使用することは不可能です。

于 2013-01-23T07:25:31.440 に答える
0

クライアント側でアップロードを処理する Java アプレットを作成/使用できます。ここで、実際のファイル パスを確認できます。しかし、ユーザーがアップロードする前にファイルを 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 に答える