PHP文件上传/主机系统

时间:2012-05-24 03:36:40

标签: php

我目前制作了一个脚本,允许上传我们公司内的文件。我希望改进这个脚本,以允许在下载链接中屏蔽上传文件的目录(不要真的希望人们知道目录结构)有没有办法我可以编码链接,然后一旦成功上传是制作了可供我们的客户下载的屏蔽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."; 
 } 
 } 
 ?> 

谢谢大家:)

2 个答案:

答案 0 :(得分:0)

我不会给你代码,但这是我实现文件共享而不泄露其位置的策略。

  1. 创建一个文件,该文件将要检索的文件的名称作为参数。它的唯一目的是打开文件并将其流出。它应该提前知道如何处理文件,在哪里查找它,以及如何返回它(流)。我们称之为getFile($filename)

  2. 在主PHP文件中,调用函数并将结果存储在变量中:

    $ file = getFile($ _ POST ['filename']);

  3. 现在向用户发送文件,他将不知道它来自哪里。

答案 1 :(得分:0)

您可以创建一个文件反弹的脚本。它只接受文件名作为参数。类似的东西:

的download.php?文件= myfile.txt的

这样你就不会说你放置文件的位置了,而且很容易实现。您可以添加标题以实际下载文件。