phpbar.de logo

Mailinglisten-Archive

[php] fwrite

[php] fwrite

Werner Laude ng at wernerlaude.de
Mon Jan 16 01:35:22 CET 2006


Am 16.01.2006 01:03   erhielt ich diese mail von Norbert Pfeiffer:

hallo Norbert.

> was steht denn dann in der Feile.

$newfile_ ="öüäabc";		
$fp = fopen ($path."0.$filetype","w");
	  fputs ($fp,$newfile);
	  fclose ($fp);

Kommt tatsächlich so in der 0.txt an..

Ich beziehe die Daten von einem längeren script, welches die db 
ausliest. Wenn ich den output per
echo $newfile = export_database("usr_web1_1");
auf den Browser kippe
sieht man u.a.

INSERT INTO test ( id, text )
	VALUES ( 1, "öööüüävfgdfgdf" );
INSERT INTO test ( id, text )
	VALUES ( 2, "gfgdfgdfßßßßääöö" );

Wenn ich dann $newfile in die Datei schreiben will, keine Umlaute mehr
Hoffe wird jetzt klarer wo mein Problem liegt.

Gruß
Werner

ich hänge die function mal an..

---------------

function export_database($db, $tables_input = false, $break = "\n")
{
	// MySQL Datenbank auswhlen
	mysql_select_db($db) OR die("Fehler beim Auswhlen der Datenbank: 
".mysql_error());
	// Parameter fr Zeilenumbruch kontrollieren, wenn ungltig auf \n setzen
	$break = ($break == "\n" OR $break == "\r\n" OR $break == "\r") ? 
$break : "\n";
	// Ausgabestring für den Datenbank Dump initialisieren mit einer ersten 
Kommentarzeile
	$exportstring = "-- --$break";
	// Array fr alle zu exportierenden Tabellen initialisieren
	// Jeder Wert in diesem Array wird spter als Tabellennamen aufgefasst 
und es wird
	// versucht einen MySQL DUMP dieser Tabelle zu erstellen
	$tables = array();
	// Wenn fr $tables_input ein Array bergeben wurde die Kopfzeile fr 
einen indivi-
	// duellen Datenbankexport erzeugen und alle Eintrge aus dem Array in 
das Tabellen-
	// array kopieren, sodass nur die im Array bergebenen Tabellen 
exportiert werden
	if(is_array($tables_input))
	{
		$tables = $tables_input;
		$exportstring .= "-- INDIVIDUAL DATABASE EXPORT       --$break";
	}
	// Ansonsten, wenn $tables_input ein einfacher String ist, diesen als 
eine Tabelle
	// auffassen und nur diese eine Tabelle exportieren, als Single 
Database Export
	elseif(!is_array($tables_input) AND $tables_input)
	{
		$tables[0] = $tables_input;
		$exportstring .= "-- SINGLE DATABASE EXPORT           --$break";
	}
	// Wurde der Parameter $tables_input gar nicht mit bergeben oder ist 
dieser False, so
	// wird per get_tables() herausgefunden welche Tabellen alle existieren 
und es werden
	// alle Tabellen exportiert => Full Database Export
	else
	{
		$tables = get_tables($db);
		$exportstring .= "-- FULL DATABASE EXPORT             --$break";
	}
	// In den Ausgabestring die Kopfzeilen schreiben, welche den Namen der 
Datenbank in
	// der die Tabellen liegen, das Datum zu dem der Dump erzeugt wurde 
sowie den Typ des
	// Exports (s.o.) enthlt
	$exportstring .= "-- -----------------------------------$break";
	$exportstring .= "-- Database: ".$db.str_repeat(" ",23 - 
strlen($db))."--$break";
	$exportstring .= "-- Build: ".date("d.m.Y, H:i")."         --$break";
	$exportstring .= "-- -----------------------------------$break$break";
	// Gehe alle Tabellen in $tables durch und exportiere nacheinander von 
jeder Tabelle
	// die Struktur, sowie die Daten.
	foreach($tables as $table)
	{
		$exportstring .= "-- Table: $table$break";
		$exportstring .= "-- -----------------------------------$break";
		$exportstring .= export_table_structure($db, $table, true, $break);
		$exportstring .= export_table_data($db, $table, false, $break);
		$exportstring .= "$break";
	}
	// Füge dem Exportstring noch ein Ende Kennzeichen hinzu...
	$exportstring .= "-- -----------------------------------$break";
	$exportstring .= "-- Export End                       --$break";
	$exportstring .= "-- -----------------------------------$break";
	// ...und liefere den kompletten String zurck.
	return $exportstring;
}





-- 
WebAgentur | Werner Laude

Lindenburger Allee 22  |  50931 Köln

fon 0221.8805 635
fax auf Anfrage

------------------------------------------

http://www.laude.biz

php::bar PHP Wiki   -   Listenarchive