Aktueller Standort: Startseite> Neueste Artikel> Praktisches Tutorial: Verwenden Sie Pathinfo, um saubere nutzlose Dateien in temporären Ordnern zu stapeln

Praktisches Tutorial: Verwenden Sie Pathinfo, um saubere nutzlose Dateien in temporären Ordnern zu stapeln

gitbox 2025-08-17
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Dies ist ein Beispiel für Vor-Code, das nicht mit dem Körper zusammenhängt</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">"&lt;h1&gt;Praktisches Tutorial wird vorbereitet...&lt;/h1&gt;"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Starten Sie den Text:Praktisches Tutorial:verwenden pathinfo 批量清理临时文件夹里von无verwenden文件</span></span><span>

<span class="hljs-comment">/**
 * 本文档将展示如何利verwenden PHP von pathinfo Funktion,批量清理临时文件夹中无verwenden文件。
 * Die Hauptidee besteht darin, den Dateisuffixnamen zu beurteilen、Bedingungen wie die Erstellung von Dateien oder die Dateigröße,过滤出无verwenden文件并删除。
 */</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">// Temporärer Ordnerpfad,Bitte passen Sie die tatsächliche Situation an</span></span><span>

</span><span><span class="hljs-comment">// Setzen Sie die Reinigungsstandards:Zum Beispiel mehr als löschen7天未修改von临时文件,且后缀不是我们需要保留von格式</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">// 假设这些是无verwenden文件类型</span></span><span>

</span><span><span class="hljs-comment">// Überprüfen Sie, ob das Verzeichnis existiert</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">"Temporärer Ordner existiert nicht:<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">// Spezielle Verzeichnisse überspringen</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">// 判断文件后缀是否属于无verwenden文件类型</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">// Erhalten Sie das letzte Mal der Dateiänderung</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">// Bestimmen Sie, ob die Datei abläuft</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> &amp;&amp; (</span><span><span class="hljs-variable">$now</span></span><span> - </span><span><span class="hljs-variable">$fileMTime</span></span><span>) &gt; </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">// Dateien löschen</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">"已Dateien löschen: <span class="hljs-subst">{$file}</span></span></span><span> &lt;br&gt;";
                    </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">"Löschung fehlgeschlagen: <span class="hljs-subst">{$file}</span></span></span><span> &lt;br&gt;";
                }
            }
        }
    }
}

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"&lt;hr&gt;"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Die Reinigung ist abgeschlossen,Insgesamt löschen <span class="hljs-subst">{$deletedCount}</span></span></span><span> Eine Datei。";

</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>