ホームページ >バックエンド開発 >PHPチュートリアル >(高スコア) このコードではファイルをダウンロードできないのはなぜですか?
ハイスコア報酬:
私のコードがファイルをダウンロードできないのはなぜですか? LINUX と WINDOWS の両方で試してみました。 WINDOWS で OB_start() を実行すると、プログラムは実行されなくなります。
$root="D:/wamp/www/panjinli/downloadsouce";
if(is_dir($root))
{
$openHandle=opendir($root)
while(false!==) ($file=readdir($openHandle)))
{
if(!is_dir($root.$file))
{
echo "".$root.$file."
"; else
{
echo "フォルダーが存在しません";
}
$do=(isset($_REQUEST['do'])) ?addslashes($_REQUEST['do']) : '';
if($ do=='down')
{
$file =(isset($_REQUEST['file'])) ?addslashes($_REQUEST['file']) : ''; $path=(isset($_REQUEST['path'])) ? 'パス']) : '';
OB_start();
関数 DownLoad($info,$file)
{
if(!file_exists ( $info))
{ header('Content- Transfer-Encoding: バイナリ');
header('Content-Type: application/force-download; name="'.$file.'"');
header('Content-Disposition:attachment; filename='.$ファイル。'');
header('Pragma: no-cache');
echo die(); }
DownLoad($path.$file,$file);
}
?>
誰もいないのはなぜですか? .$ file,$file);
は
DownLoad($path.'/'.$file,$file); に置き換えられます
は
DownLoad に置き換えられます($ path.'/'.$file,$file); 試してみましたが、うまくいきませんでした
ローカルテストはわかりませんでした。 。 。エンコーディングを設定して
を確認してください。これを変更しましたが、ローカル テストはわかりません。 。 。エンコーディングを設定して、LINUX または Windows を使用しているか確認してください
エンコーディングの設定方法
、これを変更しましたが、ローカル テストは OK ですが、わかりません。 。 。エンコーディングを設定して確認してください。すべてのポイントを教えます
if(! is_dir($root.$file))