PDA

Vollstndige Version anzeigen : fehler bei "copy"


Skar
11-08-2004, 11:59
Es geht dabei um eine mglichkeit Dateien auf einem Server hochzuladen.
"$file" ist die file, dementsprechend $file_name der Name der File
Es funktioniert an sich alles, bis auf das ausfhren der zweiten Schleife. Sprich: der Dateiname existiert noch nicht und es wurde eine Datei ausgewhlt... er Kopiert die Datei dann (wie er ja soll) aber gibt auch die Fehlermeldung: Die Datei konnte nicht kopiert werden. Das ging aber schon, funktioniert nicht mehr seit ich die Schleife 1 eingebaut habe.
Wer kann mir helfen???????????


//schaut nach ob es schon eine file mit diesem Namen gibt
$result=mysql_query("select name from dokument where name='$file_name'");
list($c)=mysql_fetch_row($result);

//erste Schleife bricht ab fals der Dateiname schon existiert
if("$c" =="")
{

//zweite Schleife bricht ab fals keine Datei ausgewhlt wurde
if("$file_name" !="")
{
copy ("file", "D:apacheApache2htdocsDatein/$file_name")
or die("Die Datei konnte nicht kopiert werden.");
}
else {die("Keine Datei ausgewhlt");}
}
else {die("Es gibt bereits eine Datei mit diesem Namen");}

c4
11-08-2004, 12:09
Variablen mssen nicht in " stehen! Manchmal drfen sie es auch gar nicht.

Msste
copy ("file"
nicht
copy ($file
heien?

Skar
11-08-2004, 12:13
weggenommen... geht trotzdem nicht :(

c4
11-08-2004, 12:15
Haben die genutzten Variablen auch wirklich den erwarteten Inhalt? Stimmen alle Pfade?

Skar
11-08-2004, 12:19
jap, $file hat die Datei und $file_name ist auch ok, $c ist auch ok... geht ja alles, nur die Fehlermeldung kommt obwohl sie nicht kommen soll...

xabbuh
11-08-2004, 12:33
Er kopiert die Datei UND zeigt die Fehlermeldung an, dass die Datei nicht kopiert werden konnte? Habe ich das richtig verstanden?

Skar
11-08-2004, 12:52
genau!!!

xabbuh
11-08-2004, 13:27
Sehr merkwrdig. Entweder sollte er das Bild kopieren oder die Fehlermeldung anzeigen aber nicht beides.

Zeig doch mal dein Script, wie es jetzt aussieht ohne die Doublequotes. Wenn du brigens zwischen [ php] und [ /php] darstellen willst musst du brigens zwei schreiben, da diese ansonsten nicht dargestellt werden.

Skar
11-08-2004, 13:44
//schaut nach ob es schon eine file mit diesem Namen gibt
$result=mysql_query("select name from dokument where name='$file_name'");
list($c)=mysql_fetch_row($result);


//erste Schleife bricht ab fals der Dateiname schon existiert
if($c =="")
{

//zweite Schleife bricht ab fals keine Datei ausgewhlt wurde
if($file_name !="")
{
copy (file, "D:apacheApache2htdocsDatein/$file_name")
or die("Die Datei konnte nicht kopiert werden.");
}
else {die("Keine Datei ausgewhlt");}
}
else {die("Es gibt bereits eine Datei mit diesem Namen");}

c4
11-08-2004, 13:47
Da fehlte noch immer ein $ und 2 " waren noch zu viel. Alles nicht weiter tragisch, wie es scheint.
Versuch's trotzdem noch mal mit dem Code: //erste Schleife bricht ab falls der Dateiname schon existiert
if(mysql_num_rows($result)>0) {
//zweite Schleife bricht ab fals keine Datei ausgewhlt wurde
if($file_name !="") {
copy ($file, 'D:apacheApache2htdocsDatein\'.$file_name) or
die("Die Datei konnte nicht kopiert werden.");
}
else {
die("Keine Datei ausgewhlt");
}
}
else {
die("Es gibt bereits eine Datei mit diesem Namen");
} Ach ja, noch was: if ist keine Schleife! Das ist eine Abfrage! while und for sind Schleifen.

Skar
11-08-2004, 14:07
gendert... geht nicht :(

ups, stimmt... keine Schleifen, heute eindeutig zu warm zum arbeiten :)

hat jemand noch eine idee? ich komme einfach nicht weiter :(