Tähän nyt on varmaan helppo ratkaisu, mutta mulla on index sivuun includella importattu yläosa, eli mun tapauksessa valikko jossa on kuvia. Kaikki kuvat on juuressa sijaitsevassa images kansiossa ja itse inculdetettava php file juuressa.
Ongelma tulee kun teen juureen alikansion ja sinne index sivun ja includella laitan siihen tuon yläosan jolloin kuvat ei tietenkään näy, koska se yrittää etsiä tästä alikansiosta images kansiota, jossa kuvat on. Mitenkäs saan sen tajuamaan et se images kansio on koko tään homman juuressa ja kuvat löytyy sieltä?
Jos joku nyt ymmärsi sekavasta kirjoituksesta asian, niin olen kiitollinen vastauksesta. Kiitos!
T: J. Kivivuori
En nyt ole ihan varma ymmärsinkö oikein, mutta kirjoita kuvien urliksi koko osoite, missä kuvat ovat (esim. http://www.palvelin.fi/images/kuva1.jpg).
koko urli kelpaa, mutta myös ../images/kuva.jpg riittää joss iis kuvat on hakemistorakenteessa yhden alempana.
Jos siis meinasit tätä:
Päähakemisto
Sivuja - kansio
Images- kansio
Kuva1.jpg - tiedosto
kuva2.jpg - tiedosto
Sivuja - kansion sisältö
index.php - tiedosto
Niin kun index.php:ssä viitaat "../images/kuva1.jpg", niin homma toimii.
EDIT: ai siellä oli vielä vaikeampi se rakenne..
Kiitoksia vastauksista. Tuo Bagardin ehdottama tietenkin toimii ja täytyy luultavasti sitä käytääkkin.
Mutta homma meni siis näin elikkä mulla on www.osoite.com, jonka juuressa on index.php ja ylaOsa.php. index.php sivulla on määritelty <?php include "ylaOsa.php"; ?> ja ylaOsa.php sivun kaikki kuvat on www.osoite.com juuressa kansiossa images. ylaOsa.php sivulla kuvat on linkitetty käyttämällä tavallista osoitusta eli images/kuva.jpg. Kun kirjoitan osoitteen www.osoite.com niin kuvat näkyy aivan normaalisti, mutta jospa teenkin juureen kansion testi ja laitan sinne index.php sivun ja laitan koodin <?php include "../ylaOsa.php"; ?> eli ylaOsa.php haetaan www.osoite.com juuresta. Nyt jos laitan osoitteen www.osoite.com/testi niin kuvat ei näy tuossa ylaOsa.php sivulla koska se yrittää etsiä niitä www.osoite.com/testi/images ja tätä kansiota ei ole, koska se sijaitsee vain juuressa. Joten onko ainut mahdollisuus laittaa koko osoite ylaOsa.php sijaitseviin kuviin esim. http://www.osoite.com/images/kuva.jpg vai onko kenties muita mahdollisuuksia.
Tuokin tietysti kelpaa, mutta esim. omalla koneella testattaessa sivuja aina se sitten hakisi ne kuvat verkosta eikä omalla koneella sijaitsevasta kansiosta. Eikä oikein hotsita alkaa laittamaan kaikkia samoja kuvia joka alikansioon.
Thanks Again!
T: J. Kivivuori
Minä olen kirjoittanut kuvien ja muiden hakemistopolut joka sivun alkuun ja loppuun liitettävään sivupohjaan näin:
echo "<img src=\"{$alku}kuvat/kuva.png\">";
Nyt $alku-muuttuja pitää vain määrittää niin, että polun rakentaminen aloitetaan päähakemistosta. Jos sivu on päähakemistossa, $alku on tyhjä. Jos sivu on vaikka alihakemistossa keskustelu, $alku on "..\", joka tarkoittaa ylempää hakemistoa eli tässä päähakemistoa. Jos alihakemistoja olisi kaksi, $alku olisi "..\..\". Jne.
Minä suosin myös tuota Antin tyyliä hieman yksinkertaistettuna. Minulla on ylaosa.php:ssä
$url = "http://kotikoneen.osoite.com/kokkeliportaali";
Sitten kun olen saanut sivut kasaan ja kaikki toimii, siirrän ne oikealle serverille ja muutan vain tuon
$url = "http://kikkeliskoo.com/kokkeliportaali";
Sitten kaikki linkit ja kuvat yms. tulostetaan tuolla Antin mainitsemalla tavalla.
Minulta on saanut kannatusta
"http://".$_SERVER['HTTP_HOST']
Hieman bugailee putkan regexpit näköjään...
Joo, koitin ympäristömuuttujien kautta tuota viimeksi automatisoida, mutta tuo HTTP_HOST ei loppupeleissa auta paljoakaan ainakaan omassa tapauksessani. Kotikoneeni on kuitenkin
"http://".$_SERVER['HTTP_HOST']."/~ajv/jokuhakemisto/dev"
Ja lopullinen serveri
"http://".$_SERVER['HTTP_HOST']
Jos jollakin on tuohon yleispätevä sydeemi, niin koodia vain kehiin. Tuhlasin muistaakseni jopa 10 min. tuon yleispätevän systeemin etsimiseen ja katsoin helpommaksi pysyä vanhassa tavassa, eli todennäköisesti sellainen on olemassa :)
(Mod: Lisäsin kooditagit bugin estämiseksi, kunnollinen korjaus tulossa!)
Aihe on jo aika vanha, joten et voi enää vastata siihen.