Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

fopen,sql abfrage, datei erstellen

Diskussion: fopen,sql abfrage, datei erstellen im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige will dateinamen aus der db auslesen und diese dannach via fopen erstellen. Bezeichnung ist vom typ TINYTEXT. bekomme immer ...

Antwort
Alt 22.10.07, 16:19   #1 (permalink)
mig
 
Registriert seit: 12.08.06
mig Leistung: Facit NTK
Likes: 0
Standard fopen,sql abfrage, datei erstellen

Anzeige

will dateinamen aus der db auslesen und diese dannach via fopen erstellen. Bezeichnung ist vom typ TINYTEXT.
bekomme immer den fehler:
failed to open stream: Invalid argument

dateiname sollte am ende so aussehen wie math1_2_3.php
wenn ich $dateiname="mathe123" selber zuweise dann gehts
aber wenn ich die werte aus der db hole dann nicht.
woran liegt das?

while schleife ist drin da es im endeffekt um die 100 daten sind
die so erstellt werden sollen.

mfg

PHP-Code:
....
$sql "SELECT DISTINCT * FROM xy WHERE Bezeichnung = 'math1, 2,  3' ";
$result mysql_query($sql);
if(
mysql_num_rows($result)) { 
    while(
$row mysql_fetch_assoc($result)) {
        
$varia str_replace ','''$row['Bezeichnung']);
        
$dateiname =  str_replace ' ''_'$varia );
        
$filehandle fopen("$dateiname.php""ab");
        
$contents=' text reinschreiben';
        
fwrite($filehandle$contents);
        
fclose($filehandle);
    }

mig ist offline   Mit Zitat antworten
Alt 22.10.07, 16:38   #2 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 52
Standard RE: fopen,sql abfrage, datei erstellen

ohne es jetzt grad ausprobieren zu können würde ich mal auf die folgende zeile tippen:

Code:
$filehandle = fopen("$dateiname.php", "ab");
müsste das .php nicht außerhalb der "" stehen? bzw bau dir das vorher in dateiname mit ein.

ich würde das mal so probieren:


Code:
...
$dateiname .= ".php";
$filehandle = fopen($dateiname, "ab");
lightsaver ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 22.10.07, 17:23   #3 (permalink)
LX
Moderator
 
Registriert seit: 14.02.06
LX Leistung: Z3
LX eine Nachricht über ICQ schicken LX eine Nachricht über AIM schicken LX eine Nachricht über Yahoo! schicken
Likes: 21
Standard

Erstmal kommt nach deinem Query und den Ersetzungen bestenfalls "math1_2__3.php" raus.

Außerdem ist deine WHERE-Klausel so spezifisch, dass du dir den Query eigentlich auch ganz sparen kannst... du bindest ja nur Dateien ein die so heißen, wie du es in der WHERE-Klausel eigentlich schon benennst.

Für die Fehlersuche: Lass dir doch auch $dateiname einfach mal ausgeben, bevor du die Datei zu öffnen versuchst.
__________________
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

JS BB LX UP
LX ist offline   Mit Zitat antworten
Alt 22.10.07, 22:13   #4 (permalink)
mig
Themenstarter
 
Registriert seit: 12.08.06
mig Leistung: Facit NTK
Likes: 0
Standard

das where ist nachher net so sondern gibt mir alle datennamen von bezeichnung das war nur für dieses beispiel...
desweiteren hab ich auch
das schon mit $dateiname .= ".php"; probiert aber gleiches
ergebnis
und ob das php in den "" ist oder nicht macht keinen unterschied
bzw er gibt für den dateinamen das gleiche aus.

wenn ich mir dateiname ausgeben lasse gibt er :
eben 'math1, 2, 3' oder eben nach den str_replace
die abgeändert version aus aber sobald ich eben da noch was dranfüge
wirds nicht mehr als string erkannt ;/
warum?
mig ist offline   Mit Zitat antworten
Alt 22.10.07, 22:24   #5 (permalink)
Member of Honour
 
Registriert seit: 20.10.01
boppy Leistung: Facit NTK
boppy eine Nachricht über ICQ schicken
Likes: 0
Standard RE: fopen,sql abfrage, datei erstellen

Hallo mig,

leider verstehe ich zwar dein Problem nicht, aber ich möchte dennoch ein wenig klugscheißen. Vielleicht löst sich das Problem dann ja schon:

Zitat:
Original von mig
will dateinamen aus der db auslesen und diese dannach via fopen erstellen. Bezeichnung ist vom typ TINYTEXT.
TINYTEXT umfasst auch die Möglichkeit, Umbrüche jeder Art in das Feld zu schreiben. Vielleicht kommt ein Umbruch als letztes Zeichen zurück?

Zitat:
Original von mig
bekomme immer den fehler:
failed to open stream: Invalid argument
Für mich leider nicht nachvollziehbar, das aktuelle Verzeichnis ist schreibbar und das script hat ausreichende Rechte (oder Möglichkeit C du nutzt windows *g*)?

Zitat:
Original von mig
PHP-Code:
....
$sql "SELECT DISTINCT * FROM xy WHERE Bezeichnung = 'math1, 2,  3' ";
$result mysql_query($sql);
if(
mysql_num_rows($result)) { 
    while(
$row mysql_fetch_assoc($result)) {
        
$varia str_replace ','''$row['Bezeichnung']);
        
$dateiname =  str_replace ' ''_'$varia );
        
$filehandle fopen("$dateiname.php""ab");
        
$contents=' text reinschreiben';
        
fwrite($filehandle$contents);
        
fclose($filehandle);
    }

Das ganze würde ich wie folgt abändern:
PHP-Code:
....
$sql "SELECT DISTINCT * FROM xy WHERE Bezeichnung = 'math1, 2,  3' ";
$result mysql_query($sql);
if(
mysql_num_rows($result)) { 
    while(
$row mysql_fetch_assoc($result)) {
        
$name trim($row['Bezeichnung']);
        
$replace[','] = '';
        
$replace[' '] = '_';
        
$name strtr($name,$replace);

        
$name .= '.php'//Macht einfach n schlanken fuß... ich bin kein Fan von double-Quotes...
        
$filehandle fopen($name"ab");
        
$contents=' text reinschreiben';
        
fwrite($filehandle$contents);
        
fclose($filehandle);
    }

Ansich sollte hier kein weiterer Fehler versteckt sein...

Zitat:
Original von mig
...die abgeändert version aus aber sobald ich eben da noch was dranfüge
wirds nicht mehr als string erkannt ;/
Als was erkennt er es denn?
boppy ist offline   Mit Zitat antworten
Alt 23.10.07, 02:45   #6 (permalink)
mig
Themenstarter
 
Registriert seit: 12.08.06
mig Leistung: Facit NTK
Likes: 0
Standard

joa schreibrechte hab ich, arbeite auch unter windows
und deine version funktioniert
schau morgen nochmal genau woran es lag
danke erstmal

*edit1*
hab nochmal nachgeschaut
$name = trim($row['Bezeichnung']);
diese zeile hat im endeffekt gefehlt
weiss an sich nur noch nicht welches verbotene zeichen es entfernt hat
da ich mir den dateinamen hab ausgelben lassen und da dann immer
name.php
und nicht
name
.php
stand ... was der fall sein sollte wenn das letzte zeichen ein umbruch zeichen ist oder?

mfg
mig ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » fopen,sql abfrage, datei erstellen
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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Batch - serial abfrage,variablen in txt datei speichern/lesen greeter Code Kitchen 4 06.03.08 14:03
backup datei erstellen junior48000 (Web-) Design und webbasierte Sprachen 7 15.10.07 14:54
Abfrage, ob eine Datei (Grafik) existiert valenterry (Web-) Design und webbasierte Sprachen 5 25.01.07 17:09
Datei erstellen in C++ felikz Code Kitchen 20 16.02.05 22:02
Bin-Datei erstellen Udourb Applikationen 2 06.02.05 17:54


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61