Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[ALG] Plaatjes vanuit andere directory aanroepen

Pagina: 1
Acties:
  • 217 views sinds 30-01-2008
  • Reageer

  • Piet Marisael
  • Registratie: Juni 1999
  • Laatst online: 15-05-2023
Het is eigenlijk een heel basic vraagje, maar toch.
Ik probeer op mijn website alle plaatjes in een directory te zetten.
De structuur is als volgt:

Public: sites en documents
Sites: site - jaartal - maand - pagina
Documents - pictures - plaatje

De bedoeling zou eigenlijk moeten zijn dat ik vanuit
public/sites/site x/jaartal/maand/index.html
een plaatje aanroep dat staat onder
public/documents/pictures/plaatje.jpg

Alleen werkt het niet met img src="../documents/pictures/plaatje.jpg"

Omdat een aantal plaatjes vanuit verschillende sites aangeroepen worden, zou het handiger zijn om ze maar eenmaal op een vaste plaats te zetten.
Het bespaard steeds ruimte.

Wie weet de oplossing, search heeft tot nu toe niks opgeleverd.

Verwijderd

Gebruik absolute URI's en zet alle plaatjes dus bijvoorbeeld op images.jouwsite.nl, en link daarnaar via http://images.jouwsite.nl/header.jpg

Dit is even aangenomen dat sites in via losse domeinnamen te bereiken zijn. Als ze allemaal via dezelfde domeinnaam te bereiken zijn, volstaat het om /documents/pictures/plaatje.jpg als URL te gebruiken. Eventueel ook relatieve paden, zoals ../../../../documents/pictures/plaatje.jpg

[ Voor 50% gewijzigd door Verwijderd op 18-11-2007 14:41 ]


  • Piet Marisael
  • Registratie: Juni 1999
  • Laatst online: 15-05-2023
Ik heb de directory: public/documents/pictures toch niet voor niks????

Dus voor elke directory die ik in de structuur zit zou ik dus een extra ../ moeten gaan gebruiken?

Werkt dus ook niet.

[ Voor 49% gewijzigd door Piet Marisael op 18-11-2007 14:54 ]


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Je kunt gewoon /documents/blie/bla/ gebruiken hoor, dan wordt het complete pad servername.tld/documents/blie/bla

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • Piet Marisael
  • Registratie: Juni 1999
  • Laatst online: 15-05-2023
Heb ik dus ook al geprobeerd, wellicht komt mijn uitleg niet echt goed over.
Even een nieuwe structuur maken.

Mijn website-pakket zit dus als volgt in elkaar:
Private: bla/bla
         bla/bla

Public: cgi-bin
        documents: music
                   pictures/plaatje.jpg
                   video

        sites:  site a
                site b
                site c

Elke site bestaat uit meerdere lagen van directory's.
De bedoeling is dus om vanaf elke laag van een site een onderwerp binnen te halen vanuit documents/pictures.

Dus het zou de bedoeling zijn om plaatje.jpg op te kunnen roepen vanuit zowel:
www.site[a].nl/jaartal/maand.index.html
als ook datzelfde plaatje op te kunnen roepen vanaf:
www.site[b].nl/onderwerp/blabla/index.html

En dat lukt me dus niet.

[ Voor 4% gewijzigd door Piet Marisael op 18-11-2007 15:44 ]


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
als je dat wilt dan ontkom je er niet aan om een volledig pad te geven naar de documenten, of je moet wat met apache configs gaan klooien om meerderre domeinen naar dezelfde mappen laten wijzen.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • Japius
  • Registratie: April 2003
  • Laatst online: 29-11 16:08
Piet Marisael schreef op zondag 18 november 2007 @ 14:41:
Dus voor elke directory die ik in de structuur zit zou ik dus een extra ../ moeten gaan gebruiken?
_/-\o_
Je hoeft niet te posten als je niks te zeggen hebt :|

[ Voor 12% gewijzigd door RobIII op 18-11-2007 20:07 ]


  • flowerp
  • Registratie: September 2003
  • Laatst online: 11-09 18:20
d:)b
Lees jij deze ook even? Policy m.b.t. replies in 'slechte' topics

[ Voor 34% gewijzigd door RobIII op 18-11-2007 20:08 ]

It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.


Verwijderd

Misschien lost baseurl in HTML je probleem wel op.

code:
1
2
3
<head>
<base href="http://www.w3schools.com/images/" />
</head>


nja, misschien wat omslachtig omdat het enkel je afbeeldingen moeten zijn.

en kan je niet met symbolic links werken? vb pictures in site a -> ../../documentts/pictures/

[ Voor 39% gewijzigd door Verwijderd op 18-11-2007 21:26 ]


  • Piet Marisael
  • Registratie: Juni 1999
  • Laatst online: 15-05-2023
Ik heb ook al navraag gedaan bij de provider, blijkbaar snappen die ook nog niet hoe het moet.
In de tussentijd heb ik maar een andere directory aangemaakt naast de site.
Moet nu wel elke keer een langere aanroep doen zoals:
code:
1
<img src="http://plaatjes.website.nl/plaatje.jpg">

En dat terwijl ik me toch nog steeds afvraag waarom ze die andere directory aanbieden.

  • Cascade
  • Registratie: Augustus 2006
  • Laatst online: 25-11 00:51
Ik vind dit raar als dit een standaard webpakket is. Heb je ook al gewoon
code:
1
<img src="pictures/plaatje.jpg">
geprobeerd?

Op wat voor platform zit je? Wat zijn je mogelijkheden? Kan je .htaccess bestanden gebruiken of heb je een webbeheerpakket zoals Plesk, etc etc?

  • Piet Marisael
  • Registratie: Juni 1999
  • Laatst online: 15-05-2023
mijndomein.nl

of heb ik nou al teveel gezegd? :S

en nee die code die je zojuist gaf werkt dus niet.

[ Voor 34% gewijzigd door Piet Marisael op 18-11-2007 22:05 ]


  • Cascade
  • Registratie: Augustus 2006
  • Laatst online: 25-11 00:51
Nee hoor. Jouw websites draaien op Apache en je kan gewoon met .htaccess bestanden werken (zie stukje over website beveiligen in hun FAQ).

Je kan proberen: maak een .htaccess bestand aan met daarin
code:
1
Alias /pictures /documents/pictures

en zet deze of in de 'public' document root of in de root van elke website. Ik weet niet of de paden goed zijn (misschien nog /public/documents/pictures gebruiken), maar dit zou moeten werken. Eigenlijk hoort hun helpdesk dit zo te kunnen beantwoorden!!! :X

  • jan-marten
  • Registratie: September 2000
  • Laatst online: 13:56
Piet Marisael schreef op zondag 18 november 2007 @ 15:35:
Mijn website-pakket zit dus als volgt in elkaar:
Private: bla/bla
         bla/bla

Public: cgi-bin
        documents: music
                   pictures/plaatje.jpg
                   video

        sites:  site a
                site b
                site c
Volgens mij is de map documents ook niet te benaderen via HTTP. Plaats de plaatjes in sites/site a/pictures en verwijs je img-src daarnaartoe.

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 28-11 15:56

killercow

eth0

Je kunt wel leuk www.sitea.nl/../documents/pictures/plaatje.jpg invoeren, maar de browser weet toch niet wat hij dan moet aanroepen, hij zit immers al op de root.

hoger dan sitea.nl kun je niet. De mappen worden verder ook niet geserveerd door apache denk ik, dus je zult iets anders moeten doen, bijvoorbeeld pictures onder siteA, site B en siteC symlinken zodat ze ook daar staan.

openkat.nl al gezien?


  • Joshua
  • Registratie: Juli 2005
  • Laatst online: 12-11 13:44
Kan je niet gewoon dit doen:
code:
1
<img src="/home/user/public_html/documents/pictures/plaatje.jpg" />


Oftewel gewoon de fullpath nemen (in dit geval ging ik ervanuit dat je linux als server hebt..)

[ Voor 44% gewijzigd door Joshua op 19-11-2007 13:29 ]


  • killercow
  • Registratie: Maart 2000
  • Laatst online: 28-11 15:56

killercow

eth0

Spike1506 schreef op maandag 19 november 2007 @ 13:24:
Kan je niet gewoon dit doen:
code:
1
<img src="/home/user/public_html/documents/pictures/plaatje.jpg" />


Oftewel gewoon de fullpath nemen (in dit geval ging ik ervanuit dat je linux als server hebt..)
In africa misschien, maar normale browsers zullen dan gewoon de huidige url + het volledige pad wat jij nu hebt opgescreven aanroepen.

Wat dus neer komt op:
siteA.nl//home/user/public_html/documents/pictures/plaatje.jpg

Wat door de server gezien wordt als:
/public/sites/siteA/home/user/public_html/documents/pictures/plaatje.jpg
Welk dus niet bestaat, tenzij je /home onder sitesA hebt gesymlinked

openkat.nl al gezien?


  • ? ?
  • Registratie: Mei 2007
  • Niet online

? ?

- niet

[ Voor 134% gewijzigd door ? ? op 19-11-2007 15:01 ]


  • Piet Marisael
  • Registratie: Juni 1999
  • Laatst online: 15-05-2023
Cascade schreef op zondag 18 november 2007 @ 22:11:
Eigenlijk hoort hun helpdesk dit zo te kunnen beantwoorden!!! :X
Dat had ik ook verwacht, maar ze zwijgen alsnog in alle talen.
Als tussen oplossing heb ik nu maar een paar sub-domeinen aangemaakt waar ik alles in zet.
Bij Demon weet ik nog wel dat die bovenliggende directory's wel aan te roepen waren.
Denk voornamelijk aan een gastenboek dat in de CGI-BIN directory draaide.
Ik zou eigenlijk me weer eens meer moeten gaan verdiepen hoe dat in zijn werking ging.
Want in principe draai ik weer precies hetzelfde, alleen bij een andere aanbieder.

  • Joshua
  • Registratie: Juli 2005
  • Laatst online: 12-11 13:44
killercow schreef op maandag 19 november 2007 @ 14:08:
[...]

In africa misschien, maar normale browsers zullen dan gewoon de huidige url + het volledige pad wat jij nu hebt opgescreven aanroepen.

[knip]
Duh! 8)7 Was even in de war met php en het include van files ipv html..

  • Cascade
  • Registratie: Augustus 2006
  • Laatst online: 25-11 00:51
Heb je die Alias in een .htaccess nog geprobeerd? Daarmee hoort het te werken. Wat je hiermee doet is een URL ( www.[een van jouw sites].nl/pictures) koppelen aan een fysiek pad (jouw documents/picture folder). Dat lijkt me echt 'the way to go', het is alleen een kwestie van die paden goed hebben, en daarmee hoort die helpdesk je wel te kunnen helpen. Tenzij dit soort grappen gewoon disabled zijn...

  • wboevink
  • Registratie: September 2004
  • Laatst online: 05-11 00:06
je moet onder je websites directory een virtuele directory nar je documents aan maken, voor elke site en dan hoort het te werken. Of een server script schrijven die het plaatje ophaalt uit de documents directory en dat vervolgens naar de browser streamt.

Of de oplossing hierboven van 'Cascade' gebruiken. Wat overigens beter is want dan zijn er meer connecties te openen wat je site weer sneller maakt, tot op zekere hoogte :-)

http://www.askapache.com/...che-speed-subdomains.html

[ Voor 32% gewijzigd door wboevink op 19-11-2007 18:57 ]


  • Piet Marisael
  • Registratie: Juni 1999
  • Laatst online: 15-05-2023
Cascade schreef op maandag 19 november 2007 @ 18:44:
Heb je die Alias in een .htaccess nog geprobeerd? Daarmee hoort het te werken.
Ik ben er nog niet toe gekomen om het uit te proberen.
Momenteel zit ik een spiraal van lange dagen en korte nachten.
Ik zal het zo spoedig mogelijk gaan proberen.
Thanks voor de tip.


Eindelijk een support-mail terug ontvangen van mijndomein, dit was hun antwoord:

Veel plugin bestanden kunnen aangeroepen worden via de HTML functie embed. Kijk op www.w3c.org voor alle commando\'s.?

Nog een meevaller dat ze de moeite genomen hebben om te reageren.

Met andere woorden: ik ga de tip van Cascade zelf wel uit zitten puzzelen.
Wat kan er eigenlijk fout gaan?
Mijn site plat, of misschien wel heel mijndomein???? |:(

[ Voor 34% gewijzigd door Piet Marisael op 20-11-2007 19:35 ]


  • BassieBulk
  • Registratie: December 2006
  • Niet online
Je zou zoiets kunnen proberen:
HTML:
1
<img src="plaatje_uit_andere_map.php?img=plaatje.jpg">


Met php kan je wel in mappen komen die je niet op de gewone manier kan bereiken.

PHP: plaatje_uit_andere_map.php
1
2
3
4
5
6
<?
header("Content-type: image/jpeg");
$im = imagecreatefromjpeg("/home/user/public_html/documents/pictures/".$_REQUEST['img']);
imagejpeg($im);
imagedestroy($im);
?>

Verwijderd

BassieBulk schreef op woensdag 21 november 2007 @ 10:14:
Je zou zoiets kunnen proberen:
HTML:
1
<img src="plaatje_uit_andere_map.php?img=plaatje.jpg">


Met php kan je wel in mappen komen die je niet op de gewone manier kan bereiken.

PHP: plaatje_uit_andere_map.php
1
2
3
4
5
6
<?
header("Content-type: image/jpeg");
$im = imagecreatefromjpeg("/home/user/public_html/documents/pictures/".$_REQUEST['img']);
imagejpeg($im);
imagedestroy($im);
?>
Dit is een heuse WTF?! Ten eerste: checken we $_REQUEST['img'] niet? Of is het nutteloze processorgebruik jouw manier van ervoor zorgen dat er geen configuratiebestanden of iets dergelijks worden geserveerd? Hoe ga je dat dan doen als er een gif moet worden geserveerd? Of een pdf? Nooit van readfile of fpassthru gehoord?
Echt... áls je dan voorstelt om PHP te gebruiken (wie zegt dat dat tot de mogelijkheden behoort?) doe het dan ook goed, in plaats van het vervuilen van het internet met complete onzin.

Verwijderd

Het 'voordeel' van passthru en readfile zijn uiteraard wel dat deze alle bestanden kunnen lezen, moet je wel heel grondig je img var controleren, het zou een beetje vervelend zijn als alles ineens open en bloot ligt.

edit:

Of je rechten goed instellen op kritieke bestanden kan natuurlijk ook...



Ik ga voor de alias-htaccess oplossing, geen potential security risks (voor zover ik weet dan...).

[ Voor 12% gewijzigd door Verwijderd op 21-11-2007 10:48 ]

Pagina: 1