ホームページ >バックエンド開発 >PHPチュートリアル >(高スコア) このコードではファイルをダウンロードできないのはなぜですか?

(高スコア) このコードではファイルをダウンロードできないのはなぜですか?

WBOY
WBOYオリジナル
2016-06-23 14:39:43930ブラウズ

ハイスコア報酬:
私のコードがファイルをダウンロードできないのはなぜですか? 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 ですが、わかりません。 。 。エンコーディングを設定して確認してください。すべてのポイントを教えます


。私は理解できません。 。 。エンコードを設定して、実際にエンコードに問題があるかどうかを確認してください。ファイル名の「+」記号が空白になっています

header('Content-Disposition:attachment; filename='.urlencode($file).''。 );

if(! is_dir($root.$file))

{

echo "