problem med att sätta absolut sökväg i php?
problem med att sätta absolut sökväg i php?
Hej jag håller på att trixar lite med php & mysql, har fastnat nu i flera dar med hur man anger sökvägar. Jag har en php sida som ligger i /var/www/gesallprov/admin/admin.php. Sen har jag en mapp som jag lägger till bilder i som ligger i /var/www/gesallprov/uploads. Problemet jag har är att jag har en till sida som ligger i /var/www/gesallprov/index.php som skall visa bilderna utifrån sökvägen som sparas i en databas, men det funkar inte när jag sätter min path som skall in i databasen $target_path = "/var/www/gesallprov/uploads/";. Bilden laddas upp på servern, och sökvägen till filen sparas som tex /var/www/gesallprov/uploads/bild.jpg, men sen när jag skall visa bilden utifrån en query som hämtar bildsökvägen, så visas ingen bild, utan istället dökvägen till den så som den lagrats i databasen? Skall tilläga att jag kan se bilden på min admin.php sida om jag anger relativ sökväg dvs $target_path = "../uploads", men då funkar det inte att se bilden på index.php. Någon som vet hur jag kan sätta sökvägen på ett vettigt sätt?
- per9000
- Inlägg: 931
- Blev medlem: 07 maj 2007, 11:06
- OS: Ubuntu
- Utgåva: 23.04 Lunar Lobster
- Ort: Västerås
- Kontakt:
Re: problem med att sätta absolut sökväg i php?
en tanke:
I php får du ange filpath så som ditt system har det "/var/www/..."
I html får du tänka utifrån en utomstående betraktare:
säkvägen som stoppas ut i html motsvarar troligen båda "/var/www/img/bild.jpg"
och sökvägar som inte börjar med / i html är relativa hela bunten, med för och nackdelar.
HTH,
/Per
I php får du ange filpath så som ditt system har det "/var/www/..."
I html får du tänka utifrån en utomstående betraktare:
säkvägen som stoppas ut i html
Kod: Markera allt
<img src="/img/bild.jpg" />
<img src="http://minsite.com/img/bild.jpg" />
och sökvägar som inte börjar med / i html är relativa hela bunten, med för och nackdelar.
HTH,
/Per
-
- Inlägg: 787
- Blev medlem: 18 jun 2007, 03:44
- OS: Ubuntu
- Utgåva: 18.04 Bionic Beaver LTS
- Ort: malmö
- Kontakt:
Re: problem med att sätta absolut sökväg i php?
Om du vill slippa ställa in PHP & MySQL i all oöndlighet och är ny på det kan du installera XAMPP så fixar den det mesta åt dig. Har själv aldrig haft problem med PHP:n i det paketet.
Edit: Lät som du inte talade om en egen serverconfig:
Et sökvägen visas så som du beskriver skulle kunna bero på att du använder echo / print fel: Prova båda och prova med både '-tecken och "-tecken: Det ger helt olika resultat. Det låter som en småsak som du har fastnat i, inget du behöver ge upp på eller oroa dig för.
Edit: Lät som du inte talade om en egen serverconfig:
Det är ofta ingen vits att du sparar hela sökvägen för varje bild: Din databas blir bara större. I exemplet ovan ska du t.ex. kanske inte spara " /var/www/gesallprov/uploads/" utan bara själv filnamnet. Sökvägen lägger du sedan själv till i scriptet när du genererar HTML:n för användaren. Det enda du då behöver ta från databasen är filnamnet."Bilden laddas upp på servern, och sökvägen till filen sparas som tex /var/www/gesallprov/uploads/bild.jpg, men sen när jag skall visa bilden utifrån en query som hämtar bildsökvägen, så visas ingen bild, utan istället dökvägen till den så som den lagrats i databasen?"
Et sökvägen visas så som du beskriver skulle kunna bero på att du använder echo / print fel: Prova båda och prova med både '-tecken och "-tecken: Det ger helt olika resultat. Det låter som en småsak som du har fastnat i, inget du behöver ge upp på eller oroa dig för.
Re: problem med att sätta absolut sökväg i php?
Tackar för tipsen, har insett att jag får strukturera om lite i katalogstrukturen, för att få det att funka som jag vill.
Jag är inte så jättehemma på hur man optimerar sql databaser, men det låter ju vettigt, att bara spara filnamnet. Blir ju enklare sen kanske om man stuvar om i katalogstrukturen också. Antar att du menar att frågorna till databasen går snabbare om databasen är mindre? I sådana fall skall jag nog ta mig en översikt på resten av databasen, finns det några mer enkla tips som är bra att ha i bakhuvudet, när man håller på med php+mysql?Det är ofta ingen vits att du sparar hela sökvägen för varje bild: Din databas blir bara större. I exemplet ovan ska du t.ex. kanske inte spara " /var/www/gesallprov/uploads/" utan bara själv filnamnet. Sökvägen lägger du sedan själv till i scriptet när du genererar HTML:n för användaren. Det enda du då behöver ta från databasen är filnamnet.