ERLEDIGT
JA
JA
ANTWORTEN
23
23
ZUGRIFFE
1749
1749
EMPFEHLEN
-
Mal davon abgesehen, das du eine (für mich) eigenartige schreibweise (alles in php zu packen) hast, poste doch das überarbeitete Script noch einmal.
(Wie gesagt, das ist meine persönliche meinung und nicht böse gemeint.
)
Auch die schreibweise deiner switch case Bedingung (alternative Syntax).Es gibt Besserwisser,die niemals begreifen,dass man recht haben und ein Idiot sein kann.
(Martin Kessel)
-
19.12.05 19:37 #17
- Registriert seit
- Feb 2002
- Ort
- Brück (BRB)
- Beiträge
- 272
Ich bin an der Stelle Autodidakt und wenn man nicht Fragt, kann man nicht besser werden. Ich habe vieles selbver bei gebracht und fand diese Variante nicht verkehrt.
Hier das Script aus dem Tutorial, was funktioniert:
test.html:
upload.phpPHP-Code:<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="file" name="file"><br>
<input type="submit" value="hochladen">
</form>
Wenn ich den Teil der upload.php dann in mein anderes script einbinde, funktioniert es nicht mehr!PHP-Code:<?php
$first_name = "Jochen";
$uid = "22";
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
if($type != "image/gif" && $type != "image/pjpeg") {
$err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden.";
}
if(empty($err)) {
copy("$tempname", "applicant/$uid-$first_name-test"); // An der Stelle kann ich leider nicht feststellen, warum er mir keine Dateiänderung ranhängt!
echo "Die Datei $name wurde erfolgreich hochgeladen!";
}
else {
foreach($err as $error)
echo "$error<br>";
}
?>electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.
-
Noch eine verständnis Frage.
Was für eine Datei möchtest du uploaden ?
Das Tutorial was du da nutzt,prüft ob du ein pjpeg oder gif hochladen möchtest.Zu diesm Formular sollen Dokument hochgeladen werden.
Der upload selber ist das:
PHP-Code:if($_POST['submit']) {
$tempname = $_FILES['personalrecord']['tmp_name'];
copy("$tempname", "/wo/auch/immer/Datei.txt");
}
Es gibt Besserwisser,die niemals begreifen,dass man recht haben und ein Idiot sein kann.
(Martin Kessel)
-
19.12.05 20:10 #19
- Registriert seit
- Feb 2002
- Ort
- Brück (BRB)
- Beiträge
- 272
Also, es sollen JPG und PDF-Datein sein! Da sich bei diesem Script Online beworben werden soll!
electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.
-
20.12.05 09:21 #20
- Registriert seit
- Feb 2002
- Ort
- Brück (BRB)
- Beiträge
- 272
Okay, mit dem copy-Befehl hat es nach langem tüffteln dann geklappt. Jetzt noch ein kleines anderes Problem:
Dies kopiert ja die Datei und benennt sie um, nur leider ohne Erweiterung. Wie kann man die Original-Erweiterung da wieder anhängen?PHP-Code:$tempname = $_FILES['personalrecord']['tmp_name'];
copy("$tempname", "applicant/$uid-$last_name-personalrecord");
Geändert von Seven Secrets (20.12.05 um 10:08 Uhr)
electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.
-
20.12.05 11:28 #21
- Registriert seit
- Feb 2002
- Ort
- Brück (BRB)
- Beiträge
- 272
Ich habe es jetzt wie folgt probiert, nur Leider bekomme ich so auch keine Datei-Erweiterung. Warum?
PHP-Code:$tempname = $_FILES['personalrecord']['tmp_name'];
$pfad_info = pathinfo($tempname);
copy("$tempname", "applicant/$uid-$last_name-personalrecord");
rename("applicant/".$uid."-".$last_name."-personalrecord","applicant/".$uid."-".$last_name."-personalrecord.".$pfad_info["extension"]);
electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.
-
20.12.05 11:56 #22
- Registriert seit
- Feb 2002
- Ort
- Brück (BRB)
- Beiträge
- 272
Die Lösung war dann doch ganz einfach! Da ja die $tempname das temporäre Hick-Hack speichert ohne Endeung, mußte ich nur den eigentlichen Dateiname nutzen!
So wird ein Schuh draus! Danke trotzdem an alle! Bis demnächst!PHP-Code:$tempname = $_FILES['personalrecord']['tmp_name'];
$name = $_FILES['personalrecord']['name'];
$pfad_info = pathinfo($name);
copy("$tempname", "applicant/$uid-$last_name-personalrecord.".$pfad_info["extension"]);
electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.
-
Hallo,
das ist so nicht ganz richtig.
In $_FILES[][] wird viel mehr übergeben.
Ich weiß nicht wie fit du mit Arrays bist, aber probier mal print_r($_FILES)
in deinem Script aus.
link
z.B.:
usw.PHP-Code:$type = $_FILES['personalrecord']['type']
if ($type = "image/pjpeg") $mime = ".jpg";
elseif ($type = "image/gif") $mime = ".gif";
else $mime = ".xxx";
(oder switch case
)
... "applicant/$uid-$last_name-personalrecord".$mime;
Wichtig:
Auch wegen der Sicherheit !
MfG
Tabuk
Geändert von Tabuk (20.12.05 um 16:37 Uhr)
Es gibt Besserwisser,die niemals begreifen,dass man recht haben und ein Idiot sein kann.
(Martin Kessel)
-
20.12.05 23:15 #24
- Registriert seit
- Feb 2002
- Ort
- Brück (BRB)
- Beiträge
- 272
Okay, habe ich auch gelesen, nur ging bei der Kopiererei und dem gleichzeitigem Umbenennen immer die Erweiterung verloren. So mußte ich mir einen weg bauen. Da es mit dem Auslesen der erweiterung aus dem Temp-name nicht ging, mußte ich es so lösen. Naja, nicht schön, aber selten. Welche Dateiendungen erkennt $_FILES eigentlich. dazu habe ich noch nix gefunden.
Greetz!electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.
Ähnliche Themen
-
Upload-Formular
Von DaveThuet im Forum PHPAntworten: 1Letzter Beitrag: 18.11.07, 15:25 -
Formular mit Upload
Von vexx im Forum PHPAntworten: 6Letzter Beitrag: 04.04.05, 14:02 -
upload via formular
Von longstar im Forum PHPAntworten: 14Letzter Beitrag: 10.02.05, 18:03 -
Upload-Formular?
Von corsanostra im Forum PHPAntworten: 1Letzter Beitrag: 26.02.02, 22:32





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren