単一の Index.php は、任意のレベルでの PHP フォルダー トラバーサルを実装します (Zjmainstay によるオリジナル)
以下是核心文件:
index.php文件
复制代码 代码如下:
header('Content-Type:text/html charset:utf-8');
date_default_timezone_set('PRC');
$rootDir = 'listFile'; //站点根目录,装载本程序所有文件
//站点base_url设置方法:
//考虑到通用性,现默认使用方法二,修改方法时注意同时修改.htaccess文件
//方法一:设置站点目录为根目录
//对应.htaccess:
//#RewriteBase /
// $base_url = 'http://www.listfile.com/';
//方法二:设置站点子目录为根目录
//对应.htaccess:
//RewriteBase /listFile/
$base_url = 'http://www.test.com/' .$rootDir .'/';
//解析文件夹路径
if(empty($_GET['return'])){
$dir = '.';
}else {
$dir = trim(array_pop(explode($rootDir,$_GET['return'])),'/');
if(empty($dir)) $dir = '.';
else $dir = './' . $dir;
}
// echo $dir; //当前文件夹
//遍历当前文件夹
$pattern = '*'; // '*'搜索全部文件,可以智能匹配,如*.jpg 搜索jpg文件,*.{jpg,png}搜索jpg和png文件,区分大小写!!
$skip = '*.skip'; //排除.skip类型文件(对应了“被跳过输出文件.skip”),你可以自己修改,如*.php排除所有php文件
$files = scandir_through($dir,$pattern,$skip,false);
?>
//文件类型数组
$filetypes = array(
'txt' => 'txt文本文件',
'dir' => '文件夹',
'php' => 'php文件',
'css' => 'css文件',
'js' => 'js文件',
'doc' => 'Word文档',
'xls' => 'Excel工作表',
'jpg' => 'jpg图片文件',
'gif' => 'gif图片文件',
'png' => 'png图片文件',
'mp3' => 'mp3文件',
'zip' => 'zip压缩包',
'rar' => 'rar压缩包',
'htm' => 'htm网页文件',
'html' => 'html网页文件',
'undefined'=>'文件类型未知',
);
//自定义屏蔽输出文件
$skipfiles = array(
'index.php',
'index.html',
'jquery-1.6.2.min.js',
'main.js',
'base.css',
);
//按规律输出当前文件夹所有文件
echo "";
echo "
echo "
echo "
foreach($files['filename'] as $index => $file){
if(in_array($file,$skipfiles)) continue;
if(is_null($filetypes[$files['ext'][$index]])) $filetype = '文件类型未知';
else $filetype = $filetypes[$files['ext'][$index]];
echo "";
}
echo '
//フォルダー トラバーサル関数
function scandir_through($dir,$pattern='*',$skip=false,$subInclude=true,$flag=GLOB_BRACE){
$files = array()
// 現在のディレクトリを取得します。
$items = glob($dir . '/*');
//すべてのアイテムを走査し、$subInclude が true に設定されている場合、サブディレクトリ
を走査し続けます ($ i = 0; $i < count($items); $i ) {
if ($subInclude && is_dir($items[$i])) {
$add = glob($items[$i ] . '/*');
if($add === false) $add = array();
$items, $add); $slash = strrpos($items[$i],'/');
$dir = substr($items[$i],0,$slash);
//現在のファイルがファイルと一致する場合パターン $pattern を検索し、$files 配列に追加します。
if(in_array($items[$i],glob($dir.'/'.$pattern,$flag)) && (($skip==) =false) || !in_array($items[$i],glob($dir.'/'.$skip,$flag)))) {
$files['filemtime'][] = date(' Y-m-d H: i:s',filemtime($items[$i])); //iconv
$items[$i] = の後に中国語名のファイルの時刻が取得できない問題を解決するためにここに置きます。 iconv('gb2312','utf- 8',$items[$i]);
$file = substr($items[$i],$slash 1); [] = $items[$i] ;
$files['filename'][] = $file;
if(is_dir($items[$i])) {
$files['ext] '][] = 'dir';
$files['filesize'][] = '';
}else {
$files['filesize'][] = ceil(filesize($file) )/1024).'KB';
if(strrpos($file,'.') === false) $files['ext'][] = '未定義';
else $files[' ext'][] = strto lower(array_pop (explode('.',$file)));
}
}
}
return $files; 🎜>/*
// .htaccess ファイルはルート ディレクトリにあります。 原則: アクセス パスはファイル、つまりフォルダーではないため、分析のためにルート パスにジャンプします。
#第 1 レベルのディレクトリ メソッド
#RewriteBase /
#第 2 レベルのディレクトリ メソッド
RewriteBase /listFile/
RewriteCond %{REQUEST_FILENAME} !-f
の RewriteEngine RewriteRule ( .*)index.php?return=%{REQUEST_FILENAME} [L]
*/
?>
JS ファイル
コードをコピーします
コードは次のとおりです:
$(document).ready(function(){
// ルート ノードを削除し、リンクを返しますif(window.location. href ==base_url) $("#back").hide(); //リターン処理$("#back a").click(function() { if(autoClickUrl != ''){
//クリックバック用の baddir を追加します。var url = autoClickUrl;
var url=window.location.href;
}
if( url ==base_url) return false; // ルート ノードでリターン リンクがトリガーされた場合は、直接戻ります
url = url.replace(location.search,'') / /リンクに ?return が付いている場合は、return を切り詰めます。コンテンツ (.htaccess によって生成)
url = url.substr(0,url.length-2); // ジャンプを避けるため、URL の後の 2 番目の位置から開始します。 /# 状況が存在する場合のエラー
url = url .substr(0,url.lastIndexOf('/') 1); //フォルダーの最後の層を切り捨て、1 レベル前に戻ります
window.location.href = url;
return false; //処理が完了しました。 タグをクリックした後のジャンプを防ぐために false を返します。
if(autoClickUrl != '') a").click()
});
CSS ファイル
コードをコピー
コードは次のとおりです。
ボーダー: 1px ソリッド;
マージン: 0 自動;
幅: 654px; ボーダー半径: 10px 10px 10px 10px; #back{ width: 654px; margin: 0 auto;
#back a{line-style:none; 🎜>}
.file{
クリア: 両方;
マージン-ボトム: 20px;
}
.file img{
float:left;
}
.file a{
float: left;
margin-left: 5px;
}
.file div{
float:left; 150px;
}
.text-left{
text-align:left;
.text-center{
text-align:center; >.text-right{
text-align:right;
}
.border-left{
border-left:1px ソリッド;
.border-right{
border-right:1px ソリッド;
}
.file div.filename{
width:200px;
}
.file div.filesize{
width:100px; 🎜>}
.file div.filemtime{
width :200px;
}
.htaccess ファイル
コードをコピー
コードは次のとおりです:
#Principle: アクセス パスはファイル、つまりフォルダーではないため、分析のためにルート パスにジャンプしてすべてを取得して一覧表示します。現在のディレクトリ内のファイル。
#第 1 レベルのディレクトリ メソッド
#RewriteBase /
#第 2 レベルのディレクトリ メソッド
RewriteBase /listFile/
RewriteCond %{REQUEST_FILENAME} !-f
の RewriteEngine RewriteRule ( .*)index.php?return=%{REQUEST_FILENAME} [L]
コアフォルダー: listFile/images/
//listFile
パッケージのダウンロード: ダウンロード

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。
