ERLEDIGT
NEIN
NEIN
ANTWORTEN
14
14
ZUGRIFFE
1309
1309
EMPFEHLEN
-
Hallo Leute,
ich hab mir das tutorial upload via formular angeschaut. Leider such ich noch eine lösung:
Ich möchte den "speicherort" fest legen. Aber wie? Hab schon vieles auprobiert aber leider funktioniert dies nicht.
Hoffe, dass mir einer weiter helfen kann.
-
10.02.05 13:52 #2
Hallo,
als speicherort wird meistens der copy(); Befehl genommen: (nachdem du die datei hochgeladen hast, liegt sie in einem temp-ordner)
PHP-Code:$bilddatei = $_FILES['dateiname'];
$ziel = "images/speicher".$bilddatei['name'];
copy($bilddatei['tmp_name'],$ziel);
"Die Tastatur liegt einsam dort, weil father in der motherboard!"
-
Das kenne ich aber etwas anders...
Zitat von fmeyer84
Normalerweise macht man das mit move_uploaded_file().
-
10.02.05 14:15 #4
- Registriert seit
- Jan 2004
- Beiträge
- 1.072
Die zwei Funktionen machen genau das selbe, nur dass move_uploaded_file noch überprüft, ob es sich um eine durch HTTP POST hochgeladenen Datei handelt. Wenn du copy() $_FILES['name']['tmp_name'] übergibst, macht es keinen Unterschied, ob du copy() oder move_uploaded_file() benutzt, nur das copy() etwas schneller sein müsste.
-
Müsste es nicht auch so sein, dass move_uploaded_file() die Temporäre Datei verschiebt (und sie damit aus dem Verzeichnis für temporäre Daten löscht) und copy() die Datei einfach nur kopiert?
Wenn das so ist, würde ich eher zu move_uploaded_file() tendieren.
-
10.02.05 14:20 #6
Hallo,
also bei mir geht beides.
Grüße,
Fabian"Die Tastatur liegt einsam dort, weil father in der motherboard!"
-
10.02.05 14:24 #7
Hallo,
also bei mir auf meinem privaten Server werden die tempfiles immer automatisch gelöscht, nachdem der upload fertig ist.
Zitat von bled
Ist das bei jedem Apache server?
Grüße,
Fabian"Die Tastatur liegt einsam dort, weil father in der motherboard!"
-
10.02.05 14:38 #8
- Registriert seit
- Jan 2004
- Beiträge
- 1.072
move_uploaded_file() verschiebt die Datei, copy() kopiert die Datei. Damit wäre move_uploaded_file() eher äquivalent zu rename(). Da sich die Dateien aber in einem temporären Ordner befinden, ist es relativ egal, ob die Dateien im temporären Ordner bleiben oder nicht.
-
Hallo,
erstmal vielen dank jungs für die schnelle antwort
.
Leider kann ich damit nicht viel anfangen also hab das eingesetzt kommt immer fehlermeldung.
hier der code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
<? require('inc/inc_db.php'); require('inc/lang/german/index.php'); ///////// bild upload ///////////// // ordner name wo es upgeloadet wird $tempname = $_FILES['file']['tmp_name']; // datei name $name = $_FILES['file']['name']; // prüfung der dateiformate $type = $_FILES['file']['type']; $size = $_FILES['file']['size']; // prüfung von grösse und datei typ // html kann leicht gekratt werden daher php funktion if($type != "image/gif" && $type != "image/jpeg") { $err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden."; } if($size > "15000") { $err[] = "Die Datei welche Sie hochladen wollen, ist zu gross!<br>Maximale Dateigrosse beträgt 15 KB!"; } ?> <html> <head> <title><? TITLE; ?></title> <link rel="stylesheet" type="text/css" href="style.css"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <table width="100%"> <tr> <td colspan="2"><? include('inc/header.php'); ?></td> </tr> <tr> <td width="11%" rowspan="2" valign="top"><? include('inc/navibox.php'); ?></td> <td class="maintop"><? echo SHOW; ?></td> </tr> <tr> <td valign="top" class="main"> <? // upload if(empty($err)) { move_uploaded_file("$tempname", "$name"); echo "Die Datei $name wurde erfolgreich hochgeladen!"; } // kein upload else { foreach($err as $error) echo "$error<br>"; } ?> <form enctype="multipart/form-data" action="show.php" method="post"> <input type="file" name="file"><br> <input type="submit" value="hochladen"> </form> </td> </tr> </table> </body> </html>
Es müsste eigendlich ne simple lösung sein. aber bin glaube ich zu dumm für php
.
Ich bring mir das selber gerade bei in http://php4.globe.de/manual/de/ finde selbst da nicht viel oder ich blick da nicht ganz durch.
hoffe da geht noch was an hilfe.
Gruß,
Richard
-
10.02.05 16:35 #10
- Registriert seit
- Jan 2004
- Beiträge
- 1.072
Es wäre praktisch, wenn du auch die Fehlermeldungen posten würdest, die du bekommst.
-
stimmt hehe
Fehlermeldung:
Warning: copy(c): failed to open stream: No such file or directory in C:\apache\htdocs\works\design1\admin\show.php on line 48
Die Datei checkout_bullet.gif wurde erfolgreich hochgeladen!
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
<? require('inc/inc_db.php'); require('inc/lang/german/index.php'); ///////// bild upload ///////////// // ordner name wo es upgeloadet wird //$tempname = $_FILES['file']['tmp_name']; $tempname = "images/".$name['name']; // datei name $name = $_FILES['file']['name']; // prüfung der dateiformate $type = $_FILES['file']['type']; $size = $_FILES['file']['size']; // prüfung von grösse und datei typ // html kann leicht gekratt werden daher php funktion if($type != "image/gif" && $type != "image/jpeg") { $err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden."; } if($size > "15000") { $err[] = "Die Datei welche Sie hochladen wollen, ist zu gross!<br>Maximale Dateigrosse beträgt 15 KB!"; } ?> <html> <head> <title><? TITLE; ?></title> <link rel="stylesheet" type="text/css" href="style.css"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <table width="100%"> <tr> <td colspan="2"><? include('inc/header.php'); ?></td> </tr> <tr> <td width="11%" rowspan="2" valign="top"><? include('inc/navibox.php'); ?></td> <td class="maintop"><? echo SHOW; ?></td> </tr> <tr> <td valign="top" class="main"> <? // upload if(empty($err)) { copy($name['tmp_name'],$tempname); echo "Die Datei $name wurde erfolgreich hochgeladen!"; } // kein upload else { foreach($err as $error) echo "$error<br>"; } ?> <form enctype="multipart/form-data" action="show.php" method="post"> <input type="file" name="file"><br> <input type="submit" value="hochladen"> </form> </td> </tr> </table> </body> </html>
-
10.02.05 17:00 #12
Hallo,
nimm mal bei copy:
PHP-Code:copy($name, $tempname)
"Die Tastatur liegt einsam dort, weil father in der motherboard!"
-
immer noch der selber fehler, aber danke. Wenn du eine lösung gefunden dann
.
Aber die lösung reinposten ist gut. Verständlich reinschreiben noch besser, da ich eine seite mache, wo ich was lerne und nicht zum onlinestellen etc.
Vielen Dank aber...
-
10.02.05 17:50 #14
- Registriert seit
- Jan 2004
- Beiträge
- 1.072
Das Verzeichnis /path/to/uploaddir/ braucht natürlich die entsprechenden Schreibrechte für den User, unter dem der Apache läuft.PHP-Code:copy($_FILES['file']['tmp_name'], '/path/to/uploaddir/'.$_FILES['file']['name']);
-
10.02.05 18:03 #15
Der Fehler besteht darin, dass momentan beide Parameter der copy-Funktion nicht stimmen.
$tempname enthält nur "images/", weil $name zuvor nicht definiert wurde.
Und $name['tmp_name'] ist auch leer, weil $name kein Array ist, da $name bereits $_FILES['file']['name'] enthält.
SvenDas Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
www.sven-petruschke.de
Ähnliche Themen
-
Upload-Formular
Von DaveThuet im Forum PHPAntworten: 1Letzter Beitrag: 18.11.07, 15:25 -
Upload in einem Formular!
Von Seven Secrets im Forum PHPAntworten: 23Letzter Beitrag: 20.12.05, 23:15 -
Formular mit Upload
Von vexx im Forum PHPAntworten: 6Letzter Beitrag: 04.04.05, 14:02 -
Upload-Formular?
Von corsanostra im Forum PHPAntworten: 1Letzter Beitrag: 26.02.02, 22:32





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren