2016-04-15 4 views
1

表示されているファイル(.txt)を表示/保存するコードがあります。 Saveのコードは動作していますが、アラートを使用してファイルの内容を表示するにはViewオプションを使用します(新しいタブを試しましたが、アドレスバーのパスを表示しません)。PHPのreadfile()関数の警告を使用

問題は、表示されている最後のファイルの下にコンテンツが表示され、警告ウィンドウに表示される内容が単なる数字であることです。アラートウィンドウにファイルの内容全体を表示することはできますか?

$dir = "C:/xampp/htdocs/www/backup"; 

echo "<center>"; 
echo "<h1>Logs</h1>"; 

// Open a directory, and read its contents 
if (is_dir($dir)){ 
    if ($dh = opendir($dir)){ 
    while (($file = readdir($dh)) !== false){ 
     if ($file == '.' or $file == '..'){ continue;} 
     echo $file."<a href='?link=$file'>[VIEW]</a>&nbsp;<a href='?link1=$file'>[SAVE]</a> <br>"; 
    } 
    echo "<br>"; 
    closedir($dh); 
    } 
} 

//View File 
if(isset($_GET['link'])){ 
$link=$_GET['link']; 
    if (is_dir($dir)){ 
     if ($dh = opendir($dir)){ 
      while (($file = readdir($dh)) !== false){ 
       if ($link == $file){ 
         $file = 'C:/xampp/htdocs/www/backup/'.$link; 
         if (file_exists($file)) { 
          //header('Content-Disposition: attachment; filename="'.basename($file).'"'); 
          $read = readfile($file); 
          echo "<script type='text/javascript'> alert($read); </script>"; 
          exit; 
         } 
       } 
      } 
     } 
    } 

} 

答えて

0

readfileは、ファイルを読み込んで出力バッファに直接書き込み、つまり直接ブラウザに送信します。

たとえばreadfilefile_get_contents()に変更してください。

JavaScriptを有効にするには、結果の文字列を引用符で囲む必要があります。

$read = file_get_contents($file); 
echo "<script type='text/javascript'> alert('$read'); </script>"; 
exit; 
+0

私もfile_get_contentsを試しましたが、ビューをクリックするとアラートが生成されません。 – gooey

+0

今すぐ使える!どうもありがとうございました!私はあなたが述べた単一引用符を追加するのを忘れました – gooey

+0

完了。どうもありがとうございました! – gooey