Stelle in PHP Code austauschen

  • Themenstarter Themenstarter MaxivB
  • Beginndatum Beginndatum
PHP:
<?php
$content = file('datei.php');

$content_cnt = count($content);
for($i = 0; $i < $content_cnt; $i++)
{
  if($content[$i] == 'meine_bedinging()')
  {
    $content[$i] = 'neue_funktion()';
  }
}
file_put_contents('datei.php', $content);
?>

Sowas in diese Richtung.
 
Die entsprechende Funktion:
PHP:
<?php
function rewrite_searching($searching_word){
	//die Datei, die beschrieben werden soll
	$inhalt=file("../etc/js/title_find.php");
	//ich werde nun zeilenweise diese Datei auslesen
	for($x=0;$x<sizeof($inhalt);$x++){
		//wenn x=1 ist, dann ist das die Zeile, die ausgetauscht werden soll
		// hat beispielsweise die Variable $searching_word den Wert "all", dann kommt in die. 2. Zeile der Datei
		// title_find.php die Ausgabe \$x=\"all\";\n  --> sieht dann so aus: $x="all";
		//vergiß nicht das \n, damit in die neue Zeile umgebrochen wird
		if($x==1){
			
			switch ($searching_word){
				case "all":			{ $new[]="\$x=\"all\";\n";			break; }
				case "title":		{ $new[]="\$x=\"title\";\n";		break; }
				case "author":		{ $new[]="\$x=\"author1\";\n";		break; }
				case "place_of_pub":{ $new[]="\$x=\"place_of_pub\";\n";	break; }
				case "institution":	{ $new[]="\$x=\"institution\";\n";	break; }
				case "pub_year":	{ $new[]="\$x=\"pub_year\";\n";		break; }
				case "signature":	{ $new[]="\$x=\"signature\";\n";	break; }
				default: 			{ $new[]="\$x=\"signature\";\n";	break; }																																					
			}
		//da ich die anderen Zeilen der Datei title_find.php noch einlesen muss, lese ich hier ganz normal die Datei ZEILENWEISE, in das Array ein
		}else{
			$new[]=$inhalt[$x];
		}
	}
	//nachdem ich die Datei title_find.php ausgelesen habe, lösche ich deren alten Inhalt und beschreibe sie neu mit dem neuen Inhalt
	$fp=fopen("../etc/js/title_find.php","w");
	for($q=0;$q<=count($new);$q++){
		fputs($fp,$new[$q]);
	}
	fclose($fp);
}

rewrite_searching("all");

?>

Die Datei (../etc/js/title_find.php), die neu beschrieben wird:
PHP:
<?php
$x="title";
/* die Zeile hier drüber darf NIE NIE NIE entfernt werden, da sonst die Suchfunktion nicht mehr funktionieren wird */

$eingabe=$_POST["eingabe"];

//Bitte die richtigen Zugangsdaten einfügen:
$conn = @mysql_connect("localhost", "ax2scgi","abcdef12345") 
      or die("Verbindung zu Datenbank fehlgeschlagen");

Viel Erfolg
 
Eigentlich wollte ich ja nur sowas:
PHP:
<?PHP
$datei_name = "datei.php";
    fopen($datei_name,"w");

if(fopen($datei_name,"r"))
{
	$datei = fopen($datei_name,"a+");
	fwrite($datei, "Hallo");
	fclose($datei);
}
else
{
	echo "Fehler";
}
?>
aber dank eurer hilfe habe ich es doch hingekriegt!

Aber jetzt leert er ja die genze datei! Ich will ja nur (z.B.) zeile 123!
 
Zuletzt bearbeitet von einem Moderator:
Zurück