Nur eine Variable in config.inc.php aktualisiren bei absenden des Formulars

Code:
$datei = "f:/programme/easyphp1-8/www/radio/radio/files/config.inc.php";
du musst den Inhalt der Datei erstmal einlesen:
Code:
$dateiInhalt = file_get_contents($datei) ;
 
naja jetzt ändert es nichtmehr die ersten Zeilen. Jetzt ändert er garnichts. Zeigt es zwar an aber es passiert nichts
 
Einen Moment mal. Du ersetzt das erst und willst es dann schreiben. Dann musst du die Datei aber leeren, da du ja in der Variable $ersetze alle drinnstehen hast, nicht nur das ersetzte. Probier es mal mit dem Modus w+, anstatt von r+. w+ löscht die den Inhalt der Datei nach meinen erkenntnissen nämlich.

Dass sieht dann alles so aus!
PHP:
<?PHP 
$datei = "f:/programme/easyphp1-8/www/radio/radio/files/config.inc.php"; 
$dateiInhalt = get_file_content($datei); // oder probier mal das. $dateiInhalt = file($datei); $dateiInhalt=impode('',$dateiInhalt);
 
$javascriptneu = $HTTP_POST_VARS["javascript"]; 
$ersetze = preg_replace("#javascript = '(.*)';#Uis","javascript = '$javascriptneu';",$dateiInhalt); 
 
if (!$handle = fopen($datei, "w+")) { 
		 print "Kann die Datei $datei nicht öffnen"; 
		 exit; 
} 
if (!fputs($handle, $ersetze)) { 
	 print "Kann in die Datei $datei nicht schreiben"; 
	 exit; 
} 
print "Fertig, Datei $datei wurde geschrieben"; 
fclose($handle); 
?>
 
Zuletzt bearbeitet:
Ja den Inhalt löscht er, nur verändert er wieder nichts. Es steht genau so da wie es vorher auch war.

PHP:
<?PHP
$datei = "f:/programme/easyphp1-8/www/radio/radio/files/config.inc.php";
$dateiInhalt = file_get_contents($datei);
$javascriptneu = $HTTP_POST_VARS["javascriptak"];
$ersetze = preg_replace("#javascript = '(.*)';#Uis","javascript = '$javascriptneu';",$dateiInhalt);
#$javascriptsuche = "/$javascript = '*'/";
#$ersetze = preg_replace($javascriptsuche,"$javascript = '$javascriptneu';",$dateiInhalt); 

if (!$handle = fopen($datei, "w+")) {
         print "Kann die Datei $datei nicht öffnen";
         exit;
}
if (!fputs($handle, $ersetze)) {
       print "Kann in die Datei $datei nicht schreiben";
       exit;
}
print "Fertig, Datei $datei wurde geschrieben";
fclose($handle);

?>
Die Kommentare sind die 2. möglichkeit, da macht er aber auch nichts.

//EDIT:
Zur implode: Das ist genau das gleiche, verändert auch nichts
 
Zuletzt bearbeitet:
wird die Datei überhaupt richtig eingelesen? Lass dir die doch mal ausgeben! Vielleicht ist da ja schon der Fehler!
 
Oh sorry ich hab nen fehler gemacht, nen freund hatte das Script etwas verbessert uns es geht, bzw bei ihm aufem Server...

Nur local geht es bei mir nicht und wenn ich es auf meinen Server uploade passiert volgendes:
Code:
##### Wichtige Datein #####
##### Vom Index ausgehen #####
$javascriptjavascript = 'files/functions.js123';
$cssfilejavascript = 'files/functions.js123';
$sendeplanjavascript = 'files/functions.js123';

$titlejavascript = 'files/functions.js123';
$scripttagjavascript = 'files/functions.js123';
$csstagjavascript = 'files/functions.js123';
Normal so:
Code:
##### Wichtige Datein #####
##### Vom Index ausgehen #####
$javascript = 'files/functions.js';
$cssfile = 'files/style.css';
$sendeplan = 'files/Sendezeiten.swf';

$title = 'Cristals.de - Radio of Future - Webdesign 4 you';
$scripttag = '<script src="'.$javascript.'" type="text/javascript" language="javascript"></script>';
$csstag = '<link rel="stylesheet" href="'.$cssfile.'" type="text/css">';

kann mir da einer helfen?

PHP:
<?PHP
// Auslesen der Datei
$datei = "f:/programme/easyphp1-8/www/radio/radio/files/config.inc.php";
$fp = fopen($datei, 'r');

while (!feof($fp)) {
    $zeile = fgets($fp,500);
    $dateiInhalt .= $zeile;
}
// Ankommende Variablen
$javascriptneu = $HTTP_POST_VARS["javascriptak"];
$cssneu = $HTTP_POST_VARS["cssak"];
$titleneu = $HTTP_POST_VARS["titleak"];

// Setzen der neuen Inhalte
$ersetze = preg_replace("#$javascript = '(.*)';#Uis","javascript = '".$javascriptneu."';",$dateiInhalt);
#$ersetze = preg_replace("#$cssfile = '(.*)';#Uis","$cssfile = '".$cssneu."';",$dateiInhalt);
#$ersetze = preg_replace("#$title = '(.*)';#Uis","$title = '".$titleneu."';",$dateiInhalt);
# Weitere Variablen, sind jetzt aber unwichtig

// Speichern der Datei
if (!$handle = fopen($datei, "w+")) { print "Kann die Datei nicht öffnen"; exit; } else {
if (!fputs($handle, $ersetze)) { print "Fehler beim Schreiben aufgetreten."; exit; }
print "Fertig, Datei wurde geschrieben";
fclose($handle);
}
?>

So sieht das script aus
 
Zuletzt bearbeitet:
Zurück