25. januar 2004 - 13:46Der er
12 kommentarer og 1 løsning
Uploade + vise billede
Hej. Jeg har et lille problem. Jeg skal lave en funktion hvor man kan uploade et billede til en server, og derefter skal den så vise billedet på en ny side... Jeg kan godt få den til at uploade billedet, men når man trykker gennemse og finder billedet, så skriver den jo ikke kun navnet på billedet, men fx C:\documents and settings\ osv. Kan man så godt gøre sådan at den kun vælger navnet på den side hvor den skal vise billedet? for hvis jeg gør det nu, så kommer det jo på den side hvor man skal se billedet til at stå: <img src="c:\documents and settings\osv"> og det duer jo ikke... Det er lidt svært at forklare, men for at gøre det kort, er det så muligt at få php til at forstå at den kun skal vælge det sidste i gennemse koden... Et lille eksempel:
Man har lige fundet det billede som man vil bruge og koden er så: C:\Documents and Settings\computer\Skrivebord\billede.jpg og den så kun vælger billede.jpg... Kan man det?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Til dit spørgsmål om at trække filnavnet ud af din sti kan du bruge: basename($sti). Men jeg forstår ikke det skulle være nødvendigt, hvis du flytter din oploadede fil har du jo den nye sti og navn.
Ja, men det er fordi at den smider informationen ind på mysqlserveren, og så henter jeg den via $row[picture], og så gør jeg sådan her: <img src='$row[picture]'> og derfor skal jeg kun bruge navnet... Det der basename, hvordan virker det lige?
det der med at få den til at lægge længere ude er vel bare at skrive <img src='/mappe/mappe/basename()'> Men hvordan skal man lige gøre det med basename... Har forstået hvordan den virker nu, men hvordan skal den skrives ind i php ? Er der ikke en der kan komme med et eksempel?
Det hjælper på det, men når jeg uploader et billede til mig ftp ser mysql det som noget kodesjovt... Her er koden til det jeg bruger til at uploader billeder: Kan lige give jer et eksempel: Uploadede en fil der hed hash.jpg (bare ved et tilfælde, ikke noget der ;) og så ser mysql serveren det som /tmp/phpsKNaSP
if ($_FILES["singlefile"]["name"] == "") { echo"Ingen fil blev valgt <a href=\"uploadform.php\">tilbage</a>"; echo $stop; exit; }
if (!in_array($_FILES["singlefile"]["type"], $filetyper)) { echo "Filen kan ikke uploades.<br>\n<b>". $str3 ."</b> er ikke tilladt for upload! <a href=\"uploadform.php\">tilbage</a>"; echo $stop; exit; }
Altså den skal jo egentlig sende det som der stå i ["name"] til mysql serveren, så den kan hente det rigtige navn, hvordan får man den til det? Sætter lige points til 150...
Jeg kan ikke se noget kode der gemmer navnet i MySQL, men du har ret i at bruge: $_FILES["singlefile"]["name"] (eller $str1, hvor du osse har lagt navnet).
Du kunne jo indsætte koden lige efter: move_uploaded_file($_FILES["singlefile"]["tmp_name"], $dist . $_FILES["singlefile"]["name"]); Det vil jo så være en ganske almindelig insert og da du kender $dist behøver du kun indsætte selve navnet. Fx:
$res = mysql_query("insert into billed_tabel (navn, storrelse, filtype) values ('$str1', '$str2', '$str3')"); if ($res) echo "Indsat i database<br />\n"; else echo "Der gik noget galt ved indsættelse i databasen!<br />\n";
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.