08. marts 2006 - 14:08Der er
13 kommentarer og 1 løsning
Finde den rigtige sti
Hej :)
Jeg har et problem med at få vist den rigtige sti, når jeg skal vise nogle billeder...
Mit "træ" er som følgende:
ROD -admin -opload_billede -opload_billeder.php -opload_sql.php
-images -tempbib -site
For at hente et billede i opload_billeder.php, skal jeg så ikke bruge stien <img src=\"../../images/site/billede.jpg\">??
Når mine billeder bliver oploadet, så bliver deres navn lagt ind i min mysql db. Når jeg har 4 billeder i min db, og de alle 4 er oploadet uden problemer, så prøver jeg at få dem vist i opload_billeder.php med følgende:
site er en mappe under images... for at få de billeder der ligger på selve siden ind under site... det er bare en undermappe.... Og hvis jeg kigger i ftp'en så ligger billederne der... Men prøver jeg at få dem vist via browseren, så siger den at filerne ikke eksisterer... Undtagen ved to billeder.. De virker upåklageligt... Men alle andre billeder fejler.. Dem vil den ikke vise...
Har lige fundet ud af at stien er korrekt... Den viser rammen af billedet, og så bare et bette rødt kryds i hjørnet.. Billedet har den rigtige størrelse og det hele... Men selve billedet bliver ikke vist... Hvordan kan det være?
Den stod til at alle måtte læse den (går gennem ftp og egenskaber)... Har så rettet den til alle rettigheder til alle, 777, men stadig intet resultat...
Hvis jeg oploader et billede, og ladet er blive ført ind i databasen, hvorefter jeg sletter det gennem ftp kontoen (så det eksisterer i databasen, men ikke på serveren), og jeg så oploader mit billede manuelt (kopiere fra mappe til mappe gennem ftp), så virker det fint :/ Min kode til at oploade med ser sådan her ud:
<?php //Henter DB info require("../db.tools/connect.php");
//Hvis der er blevet trykket "OPLOAD" if (isset($_FILES['filnavn']) && !empty($_FILES['filnavn']['tmp_name'])) { //Flyt billedet til tempbib $tempfile = $_FILES['filnavn']['name']; $tempdestination = "../../images/tempbib/{$_FILES['filnavn']['name']} "; copy($_FILES['filnavn']['tmp_name'], $tempdestination);
//Hent størrelsen på billedet i tempbib list($width, $height) = getimagesize("../../images/tempbib/{$_FILES['filnavn']['name']} "); $filesize = filesize("../../images/tempbib/{$_FILES['filnavn']['name']} ");
//Bagefter flyt tempbilledet fra tempbib til det rigtige bib //Opdater databasen med det nye billede $query = "INSERT INTO billeder (navn,height,width) VALUES ('".$_FILES['filnavn']['name']."','$height','$width')"; $Result1 = mysql_query($query, $db) or die (mysql_error()); $tempfile = $_FILES['filnavn']['name']; $destination = "../../images/site/{$_FILES['filnavn']['name']} "; move_uploaded_file($_FILES['filnavn']['tmp_name'], $destination); unlink("../../images/tempbib/{$_FILES['filnavn']['name']} ");
header("Location: ../index.php?rediger=opbil");
} else { echo "ikke noget billede?"; } //elseif(isset($_POST['submit'])) { echo ""; } //Slut på "Opload" ?>
I ovenstående kode har jeg et mellemrum i slutningen af hver gang jeg navngiver et nyt billede... Det fik jeg ikke med når jeg hentede billederne igen, derfor en fejl... Men den er rettet nu...
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.