$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"); // コンピューターにダウンロード ダイアログ ボックスを自動的に表示させます。 追加方法
href='?do を href='a.php?do に変更する方法
準備はできていますか?? 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 の両方で実行していますので、サポートしてください。すべて正常です。