04. juni 2006 - 11:33Der er
35 kommentarer og 1 løsning
Vis billede
Jeg har en database hvori jeg har uploaded billeder med dertilhørende tekst og titel. Databasen ser således ud:
id int(11) nulværdi: nej autoincrement primæary image longblob binary nulværdi: nej text varchar (30) nulværdi: nej title varchar (30) nulværdi: nej Billederne er gemt binært
Problemet er, at jeg ikke kan se billederne! Jeg vil gerne have et php script, der er i stand til at vise billederne i databasen. Men hvad skal jeg skrive????
ISS>>>> Der sker desværre ikke noget, når jeg kører det. Skærmen forbliver blank?
Michael_stilm>>> Ved godt at det ikke er så smart at gemme billeder direkte i mysql, men hvordan nøjes jeg blot med at gemme billednavnet i databasen, således, at når jeg skal se billederne, så bliver billederne hentet fra en mappe?
Sæt // foran header og fjern alle @, prøv igen, læs dine fejl så...
Og det er fint nok at have billeder i SQL, har det selv således at man har original billedet i fuld kvalitet i database, laver cache af billedet i forskellige størrelser (sådan at det kan hentes næste gang uden at skulle laves om.
Hvis performance og databaseplads ikke betyder noget, er det helt OK ;o) De fleste webhoteller har begränsning på pladsen og har man et galleri el liggende bliver pladsen hurtigt opbrugt. Og hvorfor belaste databasen med billeder når de kan ligge på serveren?
Jeg tror faktisk jeg vil arbejde hen mod at få billederne til at ligge på server og med en henvisning fra mysql. Performance kommer nemlig på sigt til at betyde en del!! :-)
Vil det sige, at databasen skal oprettes således: id int(11) nulværdi: nej autoincrement primary image text text varchar (30) nulværdi: nej title varchar (30) nulværdi: nej
Jeg forstår dog ikke hvad du mener med: $_FILES['navnPåFelt']['name'];//Indsätter du i databasen
Du behöver ikke at sätte feltet image til text. En varchar burde väre nok. Det er jo kun navnet på billedet der skal i databasen. Pröv at sög på upload i PHP-kategorien, så er der hundredevis scripts som du kan copy/paste. $_FILES['navnPåFelt']['name'];//Indsätter du i databasen: Der henviser jeg til det "gennemse"-felt hvor du uploader fra.
Jeg har fundet dette script der vist nok skal loade billeder op i en bestemt mappe. Men det virker ikke - kan du se hvad der er galt? Jeg har gemt det som test.php
<html> <head> <title>Fil upload med PHP</title> </head> <body> <?php //Upload eksempel $path = "test/upload";//Sti til mappen filen skal uploades i! $filename = "test.php";//Filens navn $httproot = "http://www.xxxxxxxx.dk/test/";//http:// roden til mappen som filen skal uploades til. if(count($_POST)>0)//Der bliver postet til scriptet { $file = $_FILES['file']; if(move_uploaded_file($file['tmp_name'], $path."/".$filename)) { echo 'Filen er nu uploadet. Se den <a href="'.$httproot.$filename.'">her</a>'; } else { echo 'Der opstod en fejl - filen blev ikke uploadet.<br> <a href="">Prøv igen</a>'; } } else { $form = '<form enctype="multipart/form-data" action="" method="post"> <input type="file" name="file" value=""><br> <input type="submit" name="submit" value="Upload"> </form>'; echo $form; } echo "</body> </html>"; ?>
jeg bruger kun explorer som ftp... jeg har prøvet at ændre på mappen således, at alle kan rette i den osv... jeg går ud fra at jeg skal oprette den mappe der hedder upload_bibliotek og i øvrigt ikke ændre på scriptet?
ha ha ha... jeg havde døbt mappen upload_bibliotek... jeg har nu ændret den til blot "upload".
Det er faktisk sådan noget jeg leder efter. Blot har jeg jo brug for at brugeren til hvert billede skal kunne uplode en tekst og en titel der hører til hvert billede, og at disse informationer skal uploades til en database... alt dette skal helst ske på een gang... altså brugeren blot skal trykke submit een gang, og så bliver det hele uploaded
Øjeblik... nu er det vist mig der roder rundt... jeg skal jo også connecte til mysql, da titel, tekst, og en sti til billedet skal uploades til en database
Dette script har jeg tidligere brugt til at uploade billeder+tekst+titel til en database... men billedet bliver altså smidt ind i en database, og det skal det jo ikke. Spørgsmålet er, om det nu er muligt at kombinere dette script: (der skal selvfølgelig slettes nogle linier - jeg er ikke helt klar over hvilke!!!)
if($_FILES['image']['size'][$i] > 0) mysql_query("insert into billeder values('null','$image','$text','$title')") or die(mysql_error()); } echo "Tekst og billede er uploaded!";
Den ovenstående fejlmelding får jeg ved at køre dit sidst nævnte script fra 04/06-2006 17:48:44
Jeg har også forsøgt mig med scriptet du foreslår den 04/06-2006 17:39:08, men jeg har nok umiddelbart svært ved at kombinere de to scripts... altså det script der skal lægge text, title og en henvisning til billedet ind i en database og det script der uploader et billede til en mappe.
Jeg kan godt finde ud af at lave en "form" hvor man kan tilføje tekst, titel og beskrivelse, men jeg kan ikke finde ud af at gemme det i en database samtidigt med at billedet blot smides ned i et bibliotek.
Jeg prøver lige og vender tilbage - tak for svaret i forhold til biblioteket. Jeg kæmper videre med den ide! :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.