ホームページ >バックエンド開発 >PHPチュートリアル >iframe を使用して htdocs フォルダーの外のファイルをポイントする
PHP
ファイルが file.txt であるため、iframe を使用して htdocs フォルダーの外のファイルを指定したいのですが、ファイルが htdocs 直下に配置されている場合、file.txt はログインせずに開くことができるため、保護できません。 。 file.txt を d:txtfile.txt に置くと、http://mydomain.com/file.txt では見つかりません。 file.php はログインで保護されているため、http://mydomain.com/file.php を使用して file.txt を呼び出します。 Webサーバーの管理範囲外のファイルにはhttpプロトコルを使用してアクセスできません
phpプログラムを介して転送する必要があります
ファイルリストのページ番号は任意のフォルダーを指すことができます。埋め込みファイルとして開くように変更できますか? ページ番号は次のとおりです:
error_reporting(0);
$basedir = "c:/filelist"; )) $basedir = dirname (__FILE__);
$file_name = $_GET['downfile'];
$file_dir = "/" . if(dirname(realpath( $file_dir)) < $basedir){
echo "アクセス許可が拒否されました!";
exit;
}
if (!file_exists($file_dir)) {
echo "ファイルがありません見つかりました!";
exit;
} else {
$file = fopen($file_dir,"r");
Header("Content-type: application/octet-stream");
Header ("Accept-Range: バイト" );
Header("Accept-Length: ".filesize($file_dir));
Header("Content-Disposition:attachment; filename=" . $file_name); fread($file,filesize($ file_dir));
fclose($file);
}
}
header("Content-type: text/html; charset=utf-8"); $requestDir = $_GET['dir '];
if(empty($requestDir)){
$dir = $basedir;
}
$dir = realpath($dir );
if($dir < $basedir) $dir = $basedir;