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

ファイルをダウンロードできないのはなぜですか?

WBOY
リリース: 2016-06-23 14:39:44
オリジナル
1070 人が閲覧しました

$root="D:/wamp/www/新しいフォルダー/";
if(is_dir($root))
{
$openHandle=opendir($root)
while(false!= = ($file=readdir($openHandle)))
{
if(!is_dir($root.$file))
{
echo "".$file "
";
echo "$root$file
";
echo "フォルダ" が存在しません";
}
?> なぜこのコードは実行できないのでしょうか?ファイルのダウンロードを実行しますか? ブラウザ: Sogou Browser IE 両方試しました


ディスカッションに返信 (解決策)

ダウンロードするにはヘッダー ヘッダーを使用してください

ヘッダー ヘッダーを使用してダウンロードしてください テスト プログラムを教えていただけますか


もう?? ? もう??
<?php$root="D:/ghost/";if(is_dir($root)){   $openHandle=opendir($root);   while(false!==($file=readdir($openHandle))){	   if(!is_dir($root.$file)){		 echo "<a href='?do=down&file=".$file."&path=".urlencode($root)."'>".$root.$file."</a><br/>";	   }   }   closedir($openHandle);}else{echo "文件夹不存在";}$do=(isset($_REQUEST['do'])) ? addslashes($_REQUEST['do']) : '';if($do=='down') {	$file=(isset($_REQUEST['file'])) ? addslashes($_REQUEST['file']) : '';	$path=(isset($_REQUEST['path'])) ? addslashes($_REQUEST['path']) : '';	OB_start();	function DownLoad($info,$file) {		OB_Clean();		if(!file_exists($info)) {			exit('Error:'.__LINE__.','.basename(__FILE__).'!');		}		$info=file_get_contents($info);		header('Content-Transfer-Encoding: binary');		header('Content-Type: application/force-download; name="'.$file.'"');		header('Content-Disposition: attachment; filename='.$file.'');		header('Cache-control: private');		header('Pragma: no-cache');		header('Expires: 0');		echo $info;		die();	}	DownLoad($path.$file,$file);}
ログイン後にコピー
ログイン後にコピー

すでに??
<?php$root="D:/ghost/";if(is_dir($root)){   $openHandle=opendir($root);   while(false!==($file=readdir($openHandle))){	   if(!is_dir($root.$file)){		 echo "<a href='?do=down&file=".$file."&path=".urlencode($root)."'>".$root.$file."</a><br/>";	   }   }   closedir($openHandle);}else{echo "文件夹不存在";}$do=(isset($_REQUEST['do'])) ? addslashes($_REQUEST['do']) : '';if($do=='down') {	$file=(isset($_REQUEST['file'])) ? addslashes($_REQUEST['file']) : '';	$path=(isset($_REQUEST['path'])) ? addslashes($_REQUEST['path']) : '';	OB_start();	function DownLoad($info,$file) {		OB_Clean();		if(!file_exists($info)) {			exit('Error:'.__LINE__.','.basename(__FILE__).'!');		}		$info=file_get_contents($info);		header('Content-Transfer-Encoding: binary');		header('Content-Type: application/force-download; name="'.$file.'"');		header('Content-Disposition: attachment; filename='.$file.'');		header('Cache-control: private');		header('Pragma: no-cache');		header('Expires: 0');		echo $info;		die();	}	DownLoad($path.$file,$file);}
ログイン後にコピー
ログイン後にコピー

すでに?? エラー コード: 27

file_put_contents ,$str);

header("location:download/excel.csv"); // コンピューターにダウンロード ダイアログ ボックスを自動的に表示させます


file_put_contents( 'download/excel.csv',$str); header("location:download/excel.csv"); // コンピューターにダウンロード ダイアログ ボックスを自動的に表示させます。 追加方法

もういいですか?? if($ do=='down') は一度も成功しませんでした。次の中括弧内のコードは実行されません。どうすればよいでしょうか? ".$root.$file."< ;";"


href='?do を href='a.php?do に変更する方法

a.php は自分の php ファイルのファイル名です



準備はできていますか?? code: 27 ??説明は何ですか?ファイルにアクセス制限がある限りダウンロードできるため、ダウンロードするファイルをリストするときは、php ファイル タイプを除外する必要があります。

私のファイル名は download.php ですが、変更してもまだ機能しません。
$root="D:/wamp/www/panjinli/downloadsouce"; if(is_dir($root) )
{
$openHandle=opendir($root);
while(false!==($file=readdir($openHandle)))
{
if(!is_dir($root.$) file))
{
e cho "".$root.$file "&lt;/a&gt;&lt; gt;"; isset($_REQUEST['file'])) ?addslashes($_REQUEST ['file']) : ''; $path=(isset($_REQUEST['path'])) ? ']) : '';

OB_start();
関数 DownLoad ($info,$file)
{
OB_Clean();
if(!file_exists($info))
{ exit('エラー:'.__LINE__.','.basename(__FILE__).'!'); $info=file_get_contents($info); ' "');
header('Content-Disposition:attachment; filename='.$ファイル。'');
header('Pragma: no-cache');
echo $info; ?わかりました
いいえ、php ファイルを直接ダウンロードしました
私のダウンロード方法は、ファイルの種類に関係なくダウンロードできるため、ダウンロードする際の要件をリストしています。ファイルの場合、php ファイルの種類を除外する必要があります。もう完了しましたか? php ファイルを直接ダウンロードするだけです
ファイルにアクセス制限がある限り、私の方法はファイルの種類に関係なく使用できます。 , ダウンロードできるので、ダウンロードするファイルをリストするときは、php タイプを除外する必要があります
LINUX でテストしましたか? LINUX からダウンロードしたファイルは正常に実行できません。いくつかの乱雑なコンテンツをサポートしてください。アクセス制限がある場合はダウンロードできるため、ダウンロードするファイルをリストするときに php ファイル タイプを除外する必要があります。
これはテスト用ですか? ダウンロードしたファイルは WINDOWS では正常に実行できません。 LINUX では、多少乱雑な内容が書かれていますが、Windows と Linux の両方で実行していますので、サポートしてください。すべて正常です。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート