1

現在、社内でファイルをアップロードできるスクリプトを作成しています。このスクリプトを改善して、アップロードされたファイルのディレクトリをダウンロード リンク内でマスクできるようにすることを検討しています (ディレクトリ構造を人々に知られたくありません) リンクをエンコードして、アップロードが成功したら、クライアントがダウンロードできるマスクされた URL をエコーアウトするようにしました。

    <?php 
 $target = "upload/"; 
 $target = $target . basename( $_FILES['uploaded']['name']) ; 
 $ok=1; 

 //This is our size condition 
 if ($uploaded_size > 350000) 
 { 
 echo "Your file is too large.<br>"; 
 $ok=0; 
 } 

 //This is our limit file type condition 
 if ($uploaded_type =="text/php") 
 { 
 echo "No PHP files<br>"; 
 $ok=0; 
 } 

 //Here we check that $ok was not set to 0 by an error 
 if ($ok==0) 
 { 
 Echo "Sorry your file was not uploaded"; 
 } 

 //If everything is ok we try to upload it 
 else 
 { 
 if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
 { 
 echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; 
 } 
 else 
 { 
 echo "Sorry, there was a problem uploading your file."; 
 } 
 } 
 ?> 

みんなありがとう :)

4

2 に答える 2

0

コードは示しませんが、場所を明かさずにファイル共有を実装するための私の戦略を次に示します。

  1. 取得するファイル名をパラメータとするファイルを作成します。唯一の目的は、ファイルを開いてストリーミングすることです。ファイルをどうするか、どこで探すか、どのように返すか (ストリーム) を事前に知っておく必要があります。呼びましょうgetFile($filename)

  2. メインの PHP ファイルで関数を呼び出し、結果を変数に格納します。

    $file = getFile($_POST['ファイル名']);

ここでユーザーにファイルを送信すると、ユーザーはそれがどこから来たのかについて賢明ではありません.

于 2012-05-24T03:42:31.923 に答える
0

ファイルがバウンスするスクリプトを作成できます。ファイル名をパラメーターとして受け入れるだけです。何かのようなもの:

download.php?file=myfile.txt

そうすれば、ファイルをどこに置くかを言う必要がなく、実装が簡単です。ヘッダーを追加して、実際にファイルをダウンロードできます。

于 2012-05-24T03:46:26.493 に答える