PHP-Datei nicht hochladen
Ich nicht Durcheinander mit PHP sehr, aber ich sehe nicht, was falsch mit dieser. Ich hatte das exakt gleiche code arbeiten etwa 15 Minuten vor, aber jetzt ist es einfach aufgehört zu arbeiten. Ich habe nichts verändert, also ich bin ein wenig verwirrt.
Sowieso, Es ist ein Formular und Ihnen werden soll, senden Sie einen screenshot, hier ist der code für meine form,
<form method="post"
enctype="multipart/form-data">
<label for="file">Screenshot of them agreeing to terms:</label>
<input type="file" name="file" id="file" /> <br />
<input type="submit" name="submit" value="Submit" />
</form>
Ich glaube nicht, dass etwas falsch mit, dass. Hier ist das PHP, dass all diese Griffe (ich denke/hoffe)
if(isset ($_POST['loanee'])) {
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg")))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
$name = md5_file(sys_get_temp_dir() . $_FILES['tmp_name']);
move_uploaded_file(sys_get_temp_dir() . $_FILES["files"]['tmp_name'], "public_html/mc/images/{$name}.jpeg");
}
}
Bin ich nicht immer alles hallte zu mir, und es werden keine Fehler angezeigt in der error-log, also, was ist falsch?
Vielen Dank für jede Hilfe.
Loanee ist nicht das problem, da meine sql-Datenbank WIRD aktualisiert, nachdem das Bild "hochgeladen", das ich nicht die ganze form, als etwas von ihm hat einige Informationen, die ich don ' T denken ist notwendig, die form ist in Ordnung, wie ich schon sagte, sorry an alle, die erzählt mir immer wieder, dass loanee nicht in der form, es ist.
loanee
????Sollten Sie die hochgeladene Datei die richtige Datei-Erweiterung.
.jpeg
ist nicht richtig, für alle drei von Ihnen.wo ist das element mit dem Namen loanee in Ihrem Formular, auf dem Sie die Anwendung der isset($_POST['loanee'])
Ich denke, Sie haben ein weiterer Tippfehler in der letzten Zeile des Codes. Sie gelangen auf das
_FILES
variable auf zwei unterschiedliche Arten.InformationsquelleAutor Austin | 2011-10-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie nicht verwenden
sys_get_temp_dir()
. Die$_FILES["files"]['tmp_name']
wird bereits auf das temp-verz.So ändern Sie Ihren code so etwas wie dieses:
Bearbeiten: Oh, und Sie sollten is_uploaded_file um zu überprüfen, ob eine Datei hochgeladen wurde.
$name = md5_file($_FILES['tmp_name']);
Oh yeah, müssen Sie die Referenz auf die gleiche Weise, wie mit move_uploaded_file.. zB.
$_FILES['files']['tmp_name']
. Update, das wird in meiner AntwortEs jetzt behoben.. der Schlüssel für die
$_FILES
array sollte die gleiche wie Ihre Formular-input-Feld. Also in deinem Fall "Datei"Jetzt bekomme ich diese beiden Fehler
Warning: move_uploaded_file(public_html/mc/images/7485273b2147c49e10271596d2b1d764.jpeg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /public_html/mc/CreateLoan.php on line 46 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpWUwCoI' to 'public_html/mc/images/7485273b2147c49e10271596d2b1d764.jpeg' in /public_html/mc/CreateLoan.php on line 46
Ihr Weg ist falsch. Wenn Ihr Skript ist in
public_html/mc
, Ihr Pfad sollte relativ sein (zB. nurimages/{$name}.jpeg
), oder verwenden Sie absolute Pfade statt. Auch stellen Sie sicher, dass das Verzeichnis beschreibbar ist für php-Skripte (in der Regel, indem Sie beschreibbar durch den "web-process" - Benutzer).InformationsquelleAutor bummzack
Ich nicht sehen, wo
$_POST['loanee']
gestellt bekommt, aber es muss eingestellt werden. Ansonsten ist der interessante code wird einfach übersprungen.Austin, ist es Teil der gleichen form aber? Wenn es nicht eingeschlossen unter die gleiche "form" - tag, ein Klick auf "Absenden" kann nicht geben Sie alle Variablen, die Sie wollen.
Ja, es ist das gleiche Formular, vielen Dank für Ihre Antwort.
InformationsquelleAutor Roland Illig
In der ersten Zeile deiner php-Skript, das Sie überprüfen für die
loanee
variable, die kommen soll, das HTML-Formular, aber Sie müssen nicht jedes Feld in Ihrem Formular mit diesem Namen.Spezifischer :
Um Ihr problem zu lösen entfernen Sie entweder die Anweisung Kontrolle oder fügen Sie ein neues Feld in das Formular mit diesem Namen.
Versuchen Sie, deaktivieren Sie diese Anweisung, Kontrolle, um zu überprüfen, ob der Upload noch funktioniert. Wenn arbeiten, dann können Sie konzentrieren sich auf diese Aussage
InformationsquelleAutor Merianos Nikos