2017-08-17 14 views

回答

0

難道這樣的事情你想要什麼?

<form action="post.php" method="post"> 
    <input name="file" placeholder="file"/> 
    <input type="submit" value="GO"/> 
</form> 

post.php中

<?php 
if(!empty($_POST['file'])) { 
    $folder = 'files/'; 
    if(file_exists($folder . $_POST['file'])) { 
    echo '<a href="'. $folder . $_POST['file'] .'">download</a><br/>'; 
    } 
exit; 
} 
// if not, return to index.php, or whatever page the client was on 
header('location: index.php'); 
?> 

注意:

  • 這是可能的文件夾是在客戶端沒有訪問權限的位置。 因此,不是顯示隱藏文件夾上文件的鏈接,而是將其複製到某個臨時文件夾。

copy($ folder。$ _POST ['file'],'temp /'。$ _POST ['file']);

  • 這是不是安全。你應該檢查$ _POST ['file'],所以黑客不會嘗試訪問你不想讓他們看到的文件。 pathinfo可以用於此。 (如果有人知道這是不安全的,請評論)

$ file = pathinfo($ _ POST ['file'],PATHINFO_BASENAME);

因此,也許這樣的事情(這意味着你需要一個所謂的「臨時」文件夾)

<?php 
if(!empty($_POST['file'])) { 
    $file = pathinfo($_POST['file'], PATHINFO_BASENAME); 
    $folder = 'files/'; 
    if(file_exists($folder . $file)) { 
    copy($folder . $file , 'temp/' . $file); 
    echo '<a target="_blank" href="temp/'. $file .'">download</a><br/>'; 
    } 
exit; 
} 
// if not, return to index.php, or whatever page the client was on 
header('location: index.php'); 
?> 
相關問題