SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 13.10.2004, 14:30:34
rkersting rkersting ist offline
Anfänger
 
Registriert seit: Oct 2004
Beiträge: 11
Suchen und ersetzen online

Hallo,

ich bin der Verzweiflung nahe.

Ich habe online etliche .php-Dateien und festgestellt, dass in jeder Werbung durch den Editor eingefügt wurde.

Ich habe nun eine php-Datei geschrieben, die alle Dateien eines verzeichnisses ausliest, was mir fehlt ist die Funktion, wie ich aus jeder Datei den Werbetext auslesen und durch einen anderen Text ersetzen kann.

Meine letzten Versuche sahen etwa so aus:

<?php
$filename = 'cd.php';
$somecontent = "Füge dies Datei hinzun";

// Sichergehen, dass die Datei existiert und beschreibbar ist
if (is_writable($filename)) {

// Wir öffnen $filename im "Anhänge" - Modus.
// Der Dateizeiger befindet sich am Ende der Datei, und
// dort wird $somecontent später mit fwrite() geschrieben.
if (!$handle = fopen($filename, "a")) {
print "Kann die Datei $filename nicht öffnen";
exit;
}

// Schreibe $somecontent in die geöffnete Datei.
if (!fwrite($handle, $somecontent)) {
print "Kann in die Datei $filename nicht schreiben";
exit;
}

print "Fertig, in Datei $filename wurde $somecontent geschrieben";

fclose($handle);

} else {
print "Die Datei $filename ist nicht schreibbar";
}
?>

Das klappt und schreibt den gewünschten Text erwartungsgemäss ans Ende der Datei.

Nun will ich aber ja suchen und ersetzen, also weiterer Versuch:

// Daten zuweisen
$filename = "cd.php";
$descriptionalt = "Werbung fuer Atta";
$descriptionneu = "dies soll als Ersatz rein";


$fp = fopen($filename, "w+");

$fp = str_replace("$descriptionalt","$descriptionneu",$fp);
fwrite($fp);
fclose($fp);

war wohl etwas zu einfach gedacht ...

Bitte dringend um Hilfe!
Danke!
Mit Zitat antworten
  #2  
Alt 13.10.2004, 14:46:57
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Welch böser, böser Editor! :)

PHP-Code:
// aktuelles Verzeichnis oeffnen
$dh=opendir('./'); // dh = directory handle
// . und .. ueberspringen - werden immer als erstes aufgelistet
readdir($dh); readdir($dh);

// Dateiname fuer Dateiname durchgehen
while (false !== $fn=readdir($dh)) { // fn = filename
    // Wenn Dateiname mit .php endet, dann...
    
if (substr($fn, -4)=='.php') {
        
// ...Inhalt einlesen und bearbeiten
        
$fc=join(''file($fn)); // fc = file content
        
$fc=str_replace('Aus alt''mach neu'$fc);
        
        
// Datei mit neuem Inhalt speichern
        
$fh=@fopen($fn'w'); // fh = file handle
        
if ($fh) {
            
fwrite($fh$fc);
            
fclose($fh);
            echo 
"+ $fn<br>n";
        }
        else {
            echo 
"- $fn<br>n";
        }
    }

Alles klarofix? ;)
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 13.10.2004, 17:06:02
rkersting rkersting ist offline
Anfänger
 
Registriert seit: Oct 2004
Beiträge: 11
super

... also echt vielen Dank!!!

Atta ist weg ;)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:27:08 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt