move_uploaded_file, schon 1000 mal gemacht, aber...
jo
- php
Hallo zusammen,
Bin grad dabei eine neue Website mit Administration zu machen.
Zur Zeit arbeite ich an einer Klasse um jpg bilder hochzuladen.
Hab das schon öfters gemacht, weiß aber jetzt nicht warum ich meine datei nicht hochgeladen bekomme.
Ich erhalte keine Fehlermeldung, es wird nur false zurückgegeben und damit else ausgeführt.
Habe die rechte des ordners mal auf 777 gesetzt, daran liegt es nicht, beim pfad bin ich mir auch ganz sicher.
Was könnte den noch die Ursache des Problems sein.
if(move_uploaded_file($_FILES['pic1']['tmp_name'], $this->uploadpath.$_FILES['pic1']['name']))
{
print "ok";
}
else
{
print "ko";
}
hier das inputfeld in HTML
<input type="file" name="pic1">
gruß und danke
jo
hi,
Ich erhalte keine Fehlermeldung, es wird nur false zurückgegeben und damit else ausgeführt.
if(move_uploaded_file($_FILES['pic1']['tmp_name'], $this->uploadpath.$_FILES['pic1']['name']))
Hast du dein error\_reporting scharf genug eingestellt?
Was haben deine Kontrollausgaben der verwendeten Variablen ergeben?
gruß,
wahsaga
--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
Was haben deine Kontrollausgaben der verwendeten Variablen ergeben?
also ich habe meinen pfad und bild mal ausgegeben:
else
{
print "tmp=".$_FILES['pic1']['tmp_name']."<br>";
print "path=".$this->uploadpath.$_FILES['pic1']['name']."<br>";
}
ist also OK:
tmp=/tmp/php00RHkv
path=../../uploadpics/advendskaleder_359.jpg
was meinst du mit error_reporting scharf genug eingestellt ?
gruß
in meiner phpinfo steht "display_errors" auf off.
Ich nehme an diese muß auf on stehn damit php mir fehlermeldungen anzeigt ?!
gruß
Lieber Jo,
in meiner phpinfo steht "display_errors" auf off.
Ich nehme an diese muß auf on stehn damit php mir fehlermeldungen anzeigt ?!
Ja, das kannst Du aber auch in einer .htaccess-Datei einstellen, die im passenden Zweig des Verzeichnisbaums untgergebracht wird, oder einer eigenen php.ini, die z.B. in der Document-Root untergebracht wird. Diese würed dann die Werte überschreiben, die in der generellen php.ini stehen.
LG
Chris
echo $begrüßung;
Ja, das kannst Du aber auch in einer .htaccess-Datei einstellen, die im passenden Zweig des Verzeichnisbaums untgergebracht wird, oder einer eigenen php.ini, die z.B. in der Document-Root untergebracht wird. Diese würed dann die Werte überschreiben, die in der generellen php.ini stehen.
Diese beiden Aussagen gelten nur eingeschränkt.
Die php_*-Angaben in der Per-Verzeichnis-Konfigurationsdatei des Apachen (oft .htaccess genannt) können von PHP nur ausgewertet werden, wenn es als Apachemodul läuft.
Eine eigene php.ini hingegen wird meines Wissens nur von der CGI-Version ausgewertet.
Siehe auch Kapitel Runtime Configuration.
echo "$verabschiedung $name";
Hallo Dedlfix,
Diese beiden Aussagen gelten nur eingeschränkt.
Beides stimmt.
Was machst Du eigentlich sonst noch, außer auf mich aufzupassen :-)
LG
Chris
hi,
Was machst Du eigentlich sonst noch, außer auf mich aufzupassen :-)
Wieso sonst - ist das nicht bereits ein Fulltime-Job ...?
scnr,
wahsaga
Nabend,
Ja, das kannst Du aber auch in einer .htaccess-Datei einstellen, die im passenden Zweig des Verzeichnisbaums untgergebracht wird, oder einer eigenen php.ini, die z.B. in der Document-Root untergebracht wird. Diese würed dann die Werte überschreiben, die in der generellen php.ini stehen.
Diese beiden Aussagen gelten nur eingeschränkt. ...
jedenfalls aber sind zusätzlich abweichende Konfigurationen in der Ausgabe von phpinfo()
enthalten, was den Sinn des Einwands von Chris nicht ganz nachvollziehbar macht.
Gruß aus Berlin!
eddi
Hallo jo, <-- Das ist die Begrüßung. AUch noch nach sieben Antworten :-)
was meinst du mit error_reporting scharf genug eingestellt ?
Liest Du hier eigentlich auch mit, wenn Du selber keine Fragen hast?
Dann müsste dir die mehrfache Diskussion der letzten Tage bezüglich der Fehlerbehandlung nicht entgangen sein.
Jedenfalls solltest Du _alle_ Fehlermeldungen, die möglich sind, auch auswerten.
Dazu sollte
error_reporting(E_ALL);
das mindeste sein, was Du tust.
Dann meine Frage: Seit wann können Ordner Rechte haben? Das nur so als Grübelfrage, wer denn eigentlich die Rechte auf den "Ordner" hat...
Bei File-Upload ist es auch notwendig, etwas über das OS des Webservers, on PHP als CGI oder als Modul benutzt wird und die PHP-Version zu wissen.
LG
Chris
Hi,
hatte ein ähnliches Problem vor kurzem selbst. Lag aber nicht am Script und/oder php.ini sondern hieran:
/*
Beachten Sie:
Wichtig ist, dass Sie im einleitenden <form>-Tag die Angabe enctype="multipart/form-data" notieren, wenn das Formular ein Element für Datei-Upload enthält.
*/
Hilfreich?
hallo zed,
/*
Beachten Sie:
Wichtig ist, dass Sie im einleitenden <form>-Tag die Angabe enctype="multipart/form-data" notieren, wenn das Formular ein Element für Datei-Upload enthält.
*/Hilfreich?
Leider nein
<form name="calendar" action="programms/calendar_add.php" enctype="multipart/form-data" method="post">
gruß