2017-06-06 6 views
0

パスを知っているときに、ウェブサイトのサーバーに保存されている以前にアップロードされたファイルを表示するにはどうすればよいですか(アップロードされたファイルは別のサーバーに保存する必要があります)説明する;私のコードでは、要素の中にボタンを作成し、関連するファイルをユーザーに表示するようにしようとしています。ファイルのURLスキーマを取得

<!DOCTYPE html> 
<html> 

<head> 
    <meta charset="utf-8"> 
    <title>Total </title> 
     <link type="text/css" rel="stylesheet" href="course.css"> 
     <script src="../jquery.js"></script> 
     <script src="../jquery-ui.js"></script> 

</head> 
<body> 


<?php 
    if ($handle = opendir('../uploads')) 
    { 
     while (false !== ($entry = readdir($handle))) 
    { 

     if ($entry != "." && $entry != "..") 
     {     


      $real=realpath("../uploads/".$entry); 


      echo "<button class='files accordian'>$entry $real</button> 
        <div class='panel'> 
         <p>$real</p>"; 
      echo '<a href="WHAT WOULD GO IN HERE?"><button class="current-file" name="sent" value="View-Current-File"><img class="view-file-img" src="../images/magnify.png">View Current File</button></a>'; 
     } 

    }  
} 

?> 


</body> 
</html> 
+0

、これはあなたのために十分であるべきだと思いますそうする理由。 – Goose

+0

ユーザーは自分のファイルをアップロードすることができ、悪意のあるコードが画像ファイルに含まれる可能性があると聞きました。私はこのことについて新しく、セキュリティについては狂っているのではないかと恐れています! – jon

+0

trueの場合、ファイルのアップロードは難しいです。ほとんどの設定では、パブリックディレクトリにアップロードし、適切なアクセス権を持ち、いくつかの.htaccessおよびファイル名をサニタイズする必要があります。つまり、重要な情報を保持していないか、同じサーバー上にミッションクリティカルなアプリケーションを持っていない限り、あまりにも多くの睡眠を失うことはありません。 – Goose

答えて

1

私はあなたが良いを持っていない限り、私はそれは共通の信念だとは思わない「私は認識してアップロードされたファイルが別のサーバー上に格納する必要がありますよ」

echo '<a href="../uploads/'.$entry.'"> 
     <button class="current-file" name="sent" value="View-Current-File"> 
      <img class="view-file-img" src="../images/magnify.png">View Current File 
     </button> 
     </a>'; 
0

定義する前に$ realを使用しているようです。

echo "<button class='files accordian'>$entry $real</button>"; 
$real=realpath("../uploads/".$entry); 

これは別の方法です。

これでも問題が解決しない場合は、これを実行して結果を確認してください。

var_dump(realpath("../uploads/".$entry)); 
関連する問題