kostenloser Webspace werbefrei: lima-city


ini speichern, wiso geht es nicht?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    valentinwinkelmann

    valentinwinkelmann hat kostenlosen Webspace.

    Hallo, ich will hiermit eine ini über speichern, also einfach die werte der array die ich bearbeitet habe wieder in die ini speichern
    <?php
    	function write_ini($file, $array){ 
    	foreach ($array as $k => $v)
    	{
    		if (is_array($v))
    		{
    			fwrite($file,'['.$k."]\n" );
    			foreach ($v as $k2 => $v2)
    			{
    				fwrite($file, $k2.' = '.$v2."\n");
    			}
    		}
    		else 
    		{
    			fwrite($file, $k.' = '.$v."\n");			
    		}
    		
    	}
    	}
    	$datei = "test.ini";
    	$file = fopen("test.ini", "r+");
    	$userarray = parse_ini_file($datei);
    	$userarray['Hunger'] = "ich bin ganz neu";
    	
    	write_ini($file, $userarray);
    ?>

    kann mir da jemand sagen wo der fehler ist, es kommt immer nur

    Warning: fopen(test.ini) [function.fopen]: failed to open stream: Permission denied in /var/www/test.php on line 21

    Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/test.php on line 15 <--- und das wiederholt sich dan mehrere mahle.

    liebe grüße und guten rutsch. vw
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ganz einfach du hast einen String übergeben kein Filehandle:
    $datei = "test.ini";
    	$file = fopen([b]$datei[/b], "r+");
    	$userarray = parse_ini_file([b]$file[/b]);
    	$userarray['Hunger'] = "ich bin ganz neu";
    	
    	write_ini($file, $userarray);

    Wollte eigentlich einiges dick hervorheben, aber ging nicht, also beachte alles was in den bbcodes steht und entferne diese, wenn du es in den Quelltext einfügst.

    Beitrag zuletzt geändert: 30.12.2010 12:20:29 von reimann
  4. Versuch doch einfach mal die Fehlermeldung zu lesen. Ist das wirklich so schwer? Ich helfe dir kurz und hebe sogar noch die Kernaussge hervor
    valentinwinkelmann schrieb:
    Warning: fopen(test.ini) [function.fopen]: failed to open stream: Permission denied in /var/www/test.php on line 21

    Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/test.php on line 15


    Weil fopen() keine Leserechte in dem File hat gibt es die Meldung "permission denied(Erlaubnis verweigert)"
    Da fwrite() eine Ungültige resource von fopen bekommt. Gibt es natürlich auch nochmals eine Fehlermeldung aus "supplied argument is not a valid stream(Werde mit ungültigen Daten beliefert)"

    Also einfach Lese und Schreibrechte geben und schon ist das Problem gelöst. Hätte man auch selbst drauf kommen können.

    Edit:
    Das mit dem
    $datei = "test.ini"; $file = fopen("test.ini", "r+");
    hab ich zuerst garnicht gesehen.

    Beitrag zuletzt geändert: 30.12.2010 12:40:23 von frnkymen
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!