現在、docx ファイルと pdf ファイルを、doc ルート外のユーザー アップロード フォルダーに保存しています。これらのファイルは、db リンクを介して、非常にスクランブルされたファイル名にダウンロードされる予定です。
以前は、PHP を使用してルート外のファイルからのみデータを取得していました。この領域からファイル全体を取得することは可能ですか。
現在、docx ファイルと pdf ファイルを、doc ルート外のユーザー アップロード フォルダーに保存しています。これらのファイルは、db リンクを介して、非常にスクランブルされたファイル名にダウンロードされる予定です。
以前は、PHP を使用してルート外のファイルからのみデータを取得していました。この領域からファイル全体を取得することは可能ですか。
<?php
$file_id = $_GET['id'];
$local_path = get_real_filelocation_from_id($file_id);
readfile($local_path);
のコードget_real_filelocation_from_id()
は、OP の演習として残されています。
<?php
$get_file=$_GET['file_name'];
$file = '/path/to/uploads/'.$get_file;
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>
何時間も検索した後、これが機能しているように見えました。残念ながら、シンボリック リンク ルートはたどるのに適したパスのように見えましたが、実際にそれを実装する方法がわかりません。最も基本的なスクリプトを試してみると、firebug は quirks モードになります。