Benutzerrechte für Dateien

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Benutzerrechte für Dateien

Postby Lottermann » 17. March 2005 16:53

Hallo,
kann mir jemand weiterhelfen ???
Ich versuche Dateien mit LOAD DATA LOCAL INFILE in die DB zu laden, aber ich bekomme immer die Fehlermeldung, dass die Datei nicht gefunden wird.
Muß man Zugriffsrechte verteilen, und wenn ja - wie?, oder ist einfach nur der Pfad falsch? Text.txt liegt im gleichen Verzeichnis wie die php-Datei (..htdocs).

$fql= ( " load data local infile 'Text.txt' into table $tab ( Inhalt2 ) " );
if ($res = mysql_query ($fql)) {
echo " Alles drin";
} else {
echo "<br>";
echo mysql_error () ;
}


Für eine Hilfe wäre ich sehr dankbar !!!
Lottermann
 
Posts: 8
Joined: 17. March 2005 16:39

Postby Wiedmann » 17. March 2005 17:00

oder ist einfach nur der Pfad falsch?

Vermutlich bei dieser Fehlermeldung. Gib doch einfachfach den kompletten Pfad zu der Datei mit an.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Lottermann » 17. March 2005 17:42

das habe ich auch schon, aber funzt auch nicht !!! ???
Lottermann
 
Posts: 8
Joined: 17. March 2005 16:39

Postby Wiedmann » 17. March 2005 19:11

das habe ich auch schon

Hast du da ein Codebeispiel dafür?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Lottermann » 17. March 2005 19:22

... das Codebeispiel steht doch oben
auf meinem Linuxserver funzt das doch auch, doch jetzt auf dem Windows-System geht´s einfach nicht.
Lottermann
 
Posts: 8
Joined: 17. March 2005 16:39

Postby Wiedmann » 17. March 2005 19:27

... das Codebeispiel steht doch oben

Aha?

Wiedmann wrote:Gib doch einfachfach den kompletten Pfad zu der Datei mit an.

Lottermann wrote:das habe ich auch schon

Und wo ist der komplette Pfad in deinem Beispiel von oben?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Lottermann » 17. March 2005 20:51

... achso das meinst du :

$fql= ( " load data local infile 'c:\\apachefriends\\xampp\\htdocs\\Text.txt' into table $tab ( Inhalt2 ) " );
if ($res = mysql_query ($fql)) {
echo " Alles drin";
} else {
echo "<br>";
echo mysql_error () ;
}
Lottermann
 
Posts: 8
Joined: 17. March 2005 16:39

Postby Wiedmann » 17. March 2005 22:42

$fql= ( " load data local infile 'c:\\apachefriends\\xampp\\htdocs\\Text.txt' into table $tab ( Inhalt2 ) " );

Also die Datei wirds ja geben... So auf Anhieb bin ich da auch erst mal überfragt. Nimm doch mal testweise Forwardslash's:
Code: Select all
$fql = ("
    LOAD DATA LOCAL INFILE 'c:/apachefriends/xampp/htdocs/Text.txt'
    INTO TABLE $tab
    (Inhalt2)
");
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Lottermann » 18. March 2005 11:31

... das funzt!
DANKE !
... aber müsste das nicht auch gehen, wenn man nicht den kompletten Pfad angibt, also nur "Text.txt"? Die php-Datei die ausgeführt wird liegt doch im gleichen Verzeichnis wie die "Text.txt".
Lottermann
 
Posts: 8
Joined: 17. March 2005 16:39

Postby Ceelight » 18. March 2005 12:03

Kannst ja mal mit
Code: Select all
./Text.txt
versuchen. Keine Garantie! ;)
There's no place like 127.0.0.1
User avatar
Ceelight
 
Posts: 295
Joined: 31. January 2004 19:57
Location: Pfälzer im niedersächsischen Exil ;-)

Postby Wiedmann » 18. March 2005 12:03

... aber müsste das nicht auch gehen, wenn man nicht den kompletten Pfad angibt, also nur "Text.txt"?

Relative Pfade gehen aus vom Startpfad des MySQL-Clients. Das dürfte hier "\xampp\apache\bin" sein *denk*.

Allerdings sollte man das mit PHP lösen können:
Code: Select all
$file = realpath('Text.txt');
$fql = ("
    LOAD DATA LOCAL INFILE '$file'
    INTO TABLE `$tab`
    (`Inhalt2`)
");
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Lottermann » 18. March 2005 14:22

vielen Dank ersmal für die Bemühungen...

also
Code: Select all
$file = realpath('Text.txt');


funktioniert nicht. Da kommt die Fehlermeldung:
File 'C:apachefriendsxampphtdocsText.txt' not found (Errcode: 2)
und
Code: Select all
./Text.txt

geht sowieso nicht, weil man damit das Verzeichnis der DB angibt, also ...mysql/ data[/code]
Lottermann
 
Posts: 8
Joined: 17. March 2005 16:39

Postby Wiedmann » 18. March 2005 14:34

File 'C:apachefriendsxampphtdocsText.txt' not found (Errcode: 2)

Das ist eine MySQL-Fehlermeldung? von PHP kann die ja nicht kommen...

Dann halt so:
Code: Select all
$file = str_replace('\\', '/', realpath('Text.txt'));
Last edited by Wiedmann on 18. March 2005 14:38, edited 2 times in total.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Lottermann » 18. March 2005 14:37

Ich finde das ein bisschen umständlich. normalerweise müsste doch "Text.txt" funktionieren, oder ???
Lottermann
 
Posts: 8
Joined: 17. March 2005 16:39

Postby Wiedmann » 18. March 2005 14:39

Code: Select all
./Text.txt

geht sowieso nicht, weil man damit das Verzeichnis der DB angibt, also ...mysql/ data

Was meinst du damit?
'Text.txt' ist das selbe wie './Text.txt'. Und sowieso: Was machst du im Verzeichnis "mysql/data"? Wenn die Datei aber eh schon da liegt, wieso benutzt du dann "... LOCAL ..."?

normalerweise müsste doch "Text.txt" funktionieren, oder ???

Jein, und den Grund kannst du oben nachlesen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Next

Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 51 guests