Heim Backend-Entwicklung PHP-Problem So durchlaufen Sie Dateien in PHP und löschen bestimmte Zeichen

So durchlaufen Sie Dateien in PHP und löschen bestimmte Zeichen

Mar 12, 2021 am 10:20 AM
php

So implementieren Sie PHP-Traversal durch Dateien, um bestimmte Zeichen zu löschen: Erstellen Sie zunächst eine PHP-Beispieldatei und verwenden Sie dann die Methode „function del($getstr){...}“, um die angegebene Zeichenfolge in allen angegebenen Dateien in der angegebenen Datei zu löschen Verzeichnis.

So durchlaufen Sie Dateien in PHP und löschen bestimmte Zeichen

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

php implementiert das Durchlaufen von Verzeichnissen und das Löschen bestimmter Inhalte in bestimmten Dateien

In diesem Artikel wird hauptsächlich PHP zum Durchlaufen von Verzeichnissen vorgestellt und Löschen Geben Sie den angegebenen Inhalt in der Datei an. Mit dem in diesem Artikel implementierten Tool können Freunde, die es benötigen, darauf verweisen. Jetzt sitze ich in einem ruhigen Schlafsaal. und die Winterferien scheinen mich verlassen zu haben ... Was ich heute gepostet habe, war meine letzte Lernsitzung während der Winterferien, und seitdem schaue ich One Piece.

Früher habe ich ein Verzeichnisdurchlauf- und Dateikopierprogramm in C-Sprache geschrieben. Es war sehr lang und kompliziert. Jetzt kann ich PHP zum Durchlaufen des Verzeichnisses verwenden, und der Code ist viel kürzer. Der Zweck dieses Programms besteht darin, das Verzeichnis zu durchsuchen, alle Dateien mit dem angegebenen Dateinamen zu finden und die angegebene Zeichenfolge zu löschen.

Der Code lautet wie folgt:

<?php
 //功能:删除指定目录(包括子目录)下所有指定文件中指定字符串
 $tmpfiledir = $_SERVER["DOCUMENT_ROOT"].&#39;tmp.txt&#39;;
 function del($getstr)
 {
  $isbak = true; //是否备份原文件,true为备份,false不备份
  global $tmpfiledir;
  $fr = fopen($tmpfiledir,"r") or die(&#39;未能打开临时文件&#39;);
  while($row = fgets($fr))
  {
   if(empty($row)) break;
   $row = trim($row);
   $opp = fopen($row,"r") or die("未能打开$row");
   $str = fread($opp,filesize($row)) or die("不能读$row");
   $str = str_replace($getstr,"",$str);
   fclose($opp);
   if($isbak){
    copy($row,$row.&#39;.bak&#39;) or die("备份文件失败");
    }
   $ref = fopen($row,"w") or die("重新打开文件失败");
   fwrite($ref,$str) or die("重新写入文件失败");
  }
 }
 
  function traverse($path) {
    global $name,$tmpfiledir;
   $current_dir = opendir($path);    //opendir()返回一个目录句柄,失败返回false
   if($current_dir == false)
    return false;
   while(($file = readdir($current_dir)) !== false) {    //readdir()返回打开目录句柄中的一个条目
    $sub_dir = $path . DIRECTORY_SEPARATOR . $file;    //构建子目录路径
    if($file == &#39;.&#39; || $file == &#39;..&#39;) {
     continue;
    } else if(is_dir($sub_dir)) {    //如果是目录,进行递归
     traverse($sub_dir);
    } else {    //如果是文件,再做比较
     $fileinfo = pathinfo($sub_dir);
     if($fileinfo[&#39;basename&#39;] == $name)
     {
       $fopen = fopen($tmpfiledir,"a");
       fwrite($fopen,$sub_dir."\r\n");
       fclose($fopen);
      }
    }
   }
   return true;
  }
 
  if(isset($_POST["name"]) && isset($_POST["dir"]) && isset($_POST["str"]))
  {
    $name = $_POST["name"];
    traverse($_POST["dir"]) or die("未能创建临时文件,请检查网站根目录是否可写");
    del($_POST["str"]);
             echo "成功";
    unlink($tmpfiledir);
   }
   else
   {
     echo "<p>输入相关信息</p>";
    }
?>
<form name="input" action="" method="post">
输入目标文件夹:<input type="text" name="dir"/>
输入目标文件名:<input type="text" name="name"/>
输入需要删除的字符串:<input type="text" name="str" />
<input type="submit" value="提交" />
</form>
Nach dem Login kopieren

Sie können sehen, dass ich zwei Funktionen geschrieben habe. Die Funktion traverse schreibt die angegebenen Dateipfade in eine temporäre Datei und die Funktion del löscht die angegebenen Zeichenfolgen in diesen Dateien. Tatsächlich halte ich es auch für nutzlos. Löschen Sie es einfach direkt während des Durchlaufs und es besteht überhaupt keine Notwendigkeit, temporäre Dateien zu generieren.

So durchlaufen Sie Dateien in PHP und löschen bestimmte ZeichenEigentlich habe ich die Traversierung am Anfang in der C-Sprache geschrieben, also habe ich PHP verwendet, um den gelöschten Teil zu schreiben, und habe ihn später einfach verwendet PHP zum Durchlaufen von Dateien (es scheint viel einfacher zu sein als C), also habe ich eine weitere Funktion zum Durchlaufen geschrieben. Sie können sich einfach den Traversal-Teil ansehen. Sie können ihn auch mit dem Traversal-Code vergleichen, den ich zuvor in C geschrieben habe (ich habe den Quellcode gesendet), um den Unterschied zu sehen.

Allerdings unterstützt diese Version keine Platzhalter, daher muss der Dateiname angegeben werden. Seine Funktion (auch der Grund, warum ich dies geschrieben habe) besteht darin, dass es die Ein-Satz-Trojaner, die wir auf dem Server hängen, stapelweise löschen kann.

【Empfohlenes Lernen: „

PHP-Video-Tutorial

“】

Das obige ist der detaillierte Inhalt vonSo durchlaufen Sie Dateien in PHP und löschen bestimmte Zeichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

See all articles