-1

ダウンロードするファイルの一時コピーを作成したいので、シンボリック リンクを使用しました。私のローカルホストでは動作しますが、アップロードすると動作しません!! 「tmp」ディレクトリの権限を確認しました。コードは次のとおりです。

$symlink = GenName($name);
$pwd = exec("pwd");
exec('ln -s "'.$pwd.'/videos/'.$name.'" "'.$pwd.'/tmp/'.$symlink.'"');

それを修正する方法または元のファイルを保護し、もちろんコピーではなくスペースなしの一時ファイルを提供する別のアイデア!!!

4

1 に答える 1

2

シンボリックリンクでアプローチ全体を破棄してください! ファイルへの一時的なアクセスを許可したい場合は、PHP スクリプトを使用してください。のような URL をユーザーに提供しますexample.com/download.php?file=foobar&token=abcdef12345。これは、次のようなスクリプトによって処理されます。

if (!is_valid($_GET['token']) /* your validation logic here */) {
    die('Invalid token');
}

// your content type here
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="downloaded.pdf"');
readfile('original.pdf');

headerおよびを参照してくださいreadfile

于 2012-07-10T14:06:48.130 に答える