<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// これは、体と関係のない事前コードの例です</span></span><span>
</span><span><span class="hljs-title function_ invoke__">date_default_timezone_set</span></span><span>(</span><span><span class="hljs-string">'Asia/Shanghai'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Content-Type: text/html; charset=utf-8'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>実使用のなチュートリアルが準備されています...</h1>"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// テキストを開始します:実使用のなチュートリアル:使用 pathinfo 批量清理临时文件夹里の无使用文件</span></span><span>
<span class="hljs-comment">/**
* 本文档将展示如何利使用 PHP の pathinfo 関数,批量清理临时文件夹中无使用文件。
* 主なアイデアは、ファイルの接尾辞名を判断することです、ファイルの作成時間やファイルサイズなどの条件,过滤出无使用文件并删除。
*/</span>
</span><span><span class="hljs-variable">$tempDir</span></span><span> = </span><span><span class="hljs-keyword">__DIR__</span></span><span> . </span><span><span class="hljs-string">'/temp'</span></span><span>; </span><span><span class="hljs-comment">// 一時的なフォルダーパス,実際の状況に従って調整してください</span></span><span>
</span><span><span class="hljs-comment">// 清掃基準を設定します:たとえば、以上を削除します7天未修改の临时文件,且后缀不是我们需要保留の格式</span></span><span>
</span><span><span class="hljs-variable">$expireDays</span></span><span> = </span><span><span class="hljs-number">7</span></span><span>;
</span><span><span class="hljs-variable">$now</span></span><span> = </span><span><span class="hljs-title function_ invoke__">time</span></span><span>();
</span><span><span class="hljs-variable">$keepExtensions</span></span><span> = [</span><span><span class="hljs-string">'tmp'</span></span><span>, </span><span><span class="hljs-string">'log'</span></span><span>, </span><span><span class="hljs-string">'bak'</span></span><span>]; </span><span><span class="hljs-comment">// 假设这些是无使用文件类型</span></span><span>
</span><span><span class="hljs-comment">// ディレクトリが存在するかどうかを確認します</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">is_dir</span></span><span>(</span><span><span class="hljs-variable">$tempDir</span></span><span>)) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"一時的なフォルダーは存在しません:<span class="hljs-subst">$tempDir</span></span></span><span>");
}
</span><span><span class="hljs-variable">$files</span></span><span> = </span><span><span class="hljs-title function_ invoke__">scandir</span></span><span>(</span><span><span class="hljs-variable">$tempDir</span></span><span>);
</span><span><span class="hljs-variable">$deletedCount</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$files</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$file</span></span><span> === </span><span><span class="hljs-string">'.'</span></span><span> || </span><span><span class="hljs-variable">$file</span></span><span> === </span><span><span class="hljs-string">'..'</span></span><span>) </span><span><span class="hljs-keyword">continue</span></span><span>; </span><span><span class="hljs-comment">// 特別ディレクトリをスキップします</span></span><span>
</span><span><span class="hljs-variable">$filePath</span></span><span> = </span><span><span class="hljs-variable">$tempDir</span></span><span> . DIRECTORY_SEPARATOR . </span><span><span class="hljs-variable">$file</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_file</span></span><span>(</span><span><span class="hljs-variable">$filePath</span></span><span>)) {
</span><span><span class="hljs-variable">$info</span></span><span> = </span><span><span class="hljs-title function_ invoke__">pathinfo</span></span><span>(</span><span><span class="hljs-variable">$filePath</span></span><span>);
</span><span><span class="hljs-comment">// 判断文件后缀是否属于无使用文件类型</span></span><span>
</span><span><span class="hljs-variable">$extension</span></span><span> = </span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$info</span></span><span>[</span><span><span class="hljs-string">'extension'</span></span><span>]) ? </span><span><span class="hljs-title function_ invoke__">strtolower</span></span><span>(</span><span><span class="hljs-variable">$info</span></span><span>[</span><span><span class="hljs-string">'extension'</span></span><span>]) : </span><span><span class="hljs-string">''</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">in_array</span></span><span>(</span><span><span class="hljs-variable">$extension</span></span><span>, </span><span><span class="hljs-variable">$keepExtensions</span></span><span>)) {
</span><span><span class="hljs-comment">// ファイルの変更の最後の時間を取得します</span></span><span>
</span><span><span class="hljs-variable">$fileMTime</span></span><span> = </span><span><span class="hljs-title function_ invoke__">filemtime</span></span><span>(</span><span><span class="hljs-variable">$filePath</span></span><span>);
</span><span><span class="hljs-comment">// ファイルの有効期限が切れるかどうかを判断します</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$fileMTime</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span> && (</span><span><span class="hljs-variable">$now</span></span><span> - </span><span><span class="hljs-variable">$fileMTime</span></span><span>) > </span><span><span class="hljs-variable">$expireDays</span></span><span> * </span><span><span class="hljs-number">86400</span></span><span>) {
</span><span><span class="hljs-comment">// ファイルを削除します</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">unlink</span></span><span>(</span><span><span class="hljs-variable">$filePath</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"已ファイルを削除します: <span class="hljs-subst">{$file}</span></span></span><span> <br>";
</span><span><span class="hljs-variable">$deletedCount</span></span><span>++;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"削除が失敗しました: <span class="hljs-subst">{$file}</span></span></span><span> <br>";
}
}
}
}
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<hr>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"クリーニングは完了しています,合計で削除します <span class="hljs-subst">{$deletedCount}</span></span></span><span> ファイル。";
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>