ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
782
782
EMPFEHLEN
-
hallo!
ich habe eine seite mit profilen, die in einer datenbank gespeichert werden. die mitglieder sollen außerdem auch ein bild hochladen können. dies soll mit einem formular passieren. der name der datei muss in die datenbank geschrieben werden, während das bild selbst in einen ordner auf den server hochgeladen werden muss.
die tabelle 'profiles' der datenbank hat die felder: page_id, page_title, page_content, page_image
die datei mit dem formular sieht so aus (damit müsste aber eigentlich alles richtig sein):
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
<? include("../layout/config.inc"); $table = profiles; $connection = mysql_connect($hostname, $user, $pass) or die ("Unable to connect!"); if ($page_id) { $query = "SELECT * FROM $table WHERE page_id=$page_id"; $result = mysql_db_query($database, $query, $connection) or die ("Error in query: $query. " . mysql_error()); $myrow = mysql_fetch_array($result); $page_id = $myrow["page_id"]; $page_title = $myrow["page_title"]; $page_content = $myrow["page_content"]; $page_image = $myrow["page_image"]; // print the id for editing mysql_free_result($result); mysql_close($connection); } ?> <form method="post" action="edit_thanks.php" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> <input type=hidden name="page_id" value="<? echo $page_id ?>"> <? if ($page_image) {?> <input type=hidden name="page_image" value="<? echo $page_image ?>"> <? } ?> <input type=hidden name="laheta" value="1"> Bild:<br> <input type="file" name="uploadfile2"> <? if ($page_image) { ?> <a href="/profiles/<? echo $page_image ?>">jetziges bild anzeigen >></a> <br> <br> <input type="checkbox" name="delete_bigpicture" value="delete_picture"> Bild löschen<br> <? } ?> <br> Name:<br> <INPUT TYPE="text" NAME="page_title" SIZE="20" MAXLENGTH="50" VALUE="<? echo $page_title; ?>"> <br><br> Profile-Info<br> <TEXTAREA NAME="page_content" COLS="40" ROWS="8" WRAP="Virtual"><? echo $page_content; ?></TEXTAREA> <br><br> <input type="submit" name="Submit" value="speichern"> </form> <br><br><a href="index.php">zurück >></a></td> </tr> </table> <?php include("../layout/footer.inc"); ?>
die daten hier werden an die seite "edit_thanks.php" weitergegeben. Diese sieht so aus:
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
<? include("../layout/config.inc"); $table = profiles; if(($file != none) && $page_title && $page_content) { $formats = array('jpg','gif','png'); $dest = "/home/users/dshells/roxy/html/profiles/$file_name"; $final_filename = str_replace(" ", "_", $file_name); if(in_array(strtolower(substr($final_filename,-3)),$formats)) { if(!copy($file,$dest)) { echo "Unable to create $dest - check permissions<br>\n"; exit; } } $connection = mysql_connect($hostname, $user, $pass) or die ("Unable to connect!"); $sql = "UPDATE $table SET page_title='$page_title', page_image='$final_filename',page_content='$page_content' WHERE page_id=$page_id"; $result = mysql_db_query($database, $sql, $connection) or die ("Error in query: $sql . " . mysql_error()); mysql_close($connection); } else { if ($page_content) { $connection = mysql_connect($hostname, $user, $pass) or die ("Unable to connect!"); if ($delete_picture) { $delete = unlink("/home/users/dshells/roxy/html/profiles/$page_image"); $page_image = ""; } $sql = "UPDATE $table SET page_title='$page_title',page_image='$page_image',page_content='$page_content' WHERE page_id=$page_id"; $result = mysql_db_query($database, $sql, $connection) or die ("Error in query: $sql . " . mysql_error()); echo "database updated<br><br>"; mysql_close($connection); } else { echo "required fields missing"; } } ?>
ich hab schon alles mögliche probiert, aber ich kann einfach kein bild hochladen. wenn ich per ftp ein bild hochlade und den namen in die datenbank eintrage, dann wird es mit diesem script aber wieder aus der datenbank entfernt. das feld "page_image" ist dann wieder leer. könnt ihr auf den ersten blick fehler erkennen? wäre echt toll, wenn ihr mir helfen könnt.
der ordner, in denen ich bilder hochladen will, muss doch dann auch beschreibbar sein, also chmod 755 oder so, stimmts?
danke!
-
Das Bild wird über das Formular in einem Temporären Ordner gespeichert, wird es dann nicht weiter verarbeitet, so wird es gelöscht, sofern der Temp geleert wird.
Also musst du mit copy das Temporäre Bild in deine Ordner ziehen.
wenn dass Bild im inputfeld z.B. Bild1 heißt (name='Bild1')
dann müsste das etwa so aussehen. aus richtigkeit geb ich aber keine Garantie da ich selbst gerade kein tut hier habe:
copy($bild1[temp],$pfad."\".$bild1[name]) irgendwie so heißt dass, wenn ich nachher zu hause bin such ich dir das richtig raus, aber vielleicht hilft das schonmal weiterKostenloses Server-Monitoring bei www.cromox.de
Ähnliche Themen
-
Bilder Hochladen
Von serd83 im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 24.01.09, 03:10 -
Bilder hochladen - Bilder komprimieren
Von Anubia im Forum PHPAntworten: 1Letzter Beitrag: 16.08.08, 17:43 -
Bilder Hochladen im ASP
Von karlkani im Forum ASPAntworten: 1Letzter Beitrag: 07.02.07, 20:26 -
Bilder hochladen
Von FP4Lisa im Forum PHPAntworten: 15Letzter Beitrag: 15.06.05, 09:07 -
Bilder hochladen
Von MSuter im Forum PHPAntworten: 5Letzter Beitrag: 15.04.02, 18:41





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren