Probleem HTML vraag

marconist

Junior lid
Lid geworden
6 aug 2010
Berichten
81
Waarderingsscore
2
Punten
8
Jaren geleden een website gebouwd. Ik wil mijn site opnieuw opzetten, maar dat valt effe tegen. Ik moet er weer helemaal inkomen. Ik krijg de Image niet op mijn website. De tekst: Test staat er wel op.

Ik heb eerst een index.htm
l gemaakt:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Language" content="nl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>My website</title>
<head>
<body>
<p> Test</p>
<img src="/image/underconstruction.jpg" width="width" height="height" alt="description" />
</body>
</html>
Daar kan toch niet veel fout zijn.
---------------------------------------------------------------------------------------
Vervolgens een map structuur in de externe site, die er zo uit ziet. In de WWW map staat de index.html


---------------------------------------------------------------------

In de Image map het .jpg plaatje


---------------------------------------------------------------------------------
Downloaden van mijn site gaat fout, de image wordt niet gevonden.


 

Black Tiger

Netwerk hobbyist. :)
Lid geworden
16 sep 2019
Berichten
380
Waarderingsscore
61
Punten
28
Locatie
State Penitentiary
Je hebt 2 foutjes.
Allereerst moeten je images ofwel onder je www vallen.
Verder zou ik bij alles kleine letters gebruiken, webruimte is veelal geen windows maar Linux en dat is hoofdlettergevoelig. Jouw image directory heet Image en niet image dus je verwijzing is fout.

Het beste kun je de directory gewoon image noemen, dus met kleine letters, maakt het allemaal veel gemakkelijker.
Verplaatst je image map naar www, dus dat hij in de www map komt te staan dan zou je verwijzing automatisch goed moeten zijn.
Is ook beter aangezien mappen buiten de www normaliter niet publiekelijk toegankelijk zijn dus zou niemand je afbeeldingen kunnen zien.
 

Rubensky

Moderator
Forumleiding
Lid geworden
17 okt 2011
Berichten
20.183
Waarderingsscore
243
Punten
63
Wat BT zegt klopt. Overigens hoef je de map image niet te verplaatsen als je dat wil. Maar, dan moet je het zo doen:

<img src="../Image/underconstruction.jpg" width="width" height="height" alt="description" />

Dus 2 puntjes voor de eerste slash na src="
 

Black Tiger

Netwerk hobbyist. :)
Lid geworden
16 sep 2019
Berichten
380
Waarderingsscore
61
Punten
28
Locatie
State Penitentiary
Dat is ook een mogelijkheid inderdaad wat Rubensky zegt.
Ik heb daar niet naar verwezen op die manier omdat je bij een backup van je website dan alleen de www directory en onderliggende mappen hoeft te doen en dan heb je alles bij elkaar.
 

roon

Websites
Lid geworden
21 feb 2020
Berichten
13
Waarderingsscore
2
Punten
3
Locatie
regio Den Haag
<img src="../Image/underconstruction.jpg" width="width" height="height" alt="description" />
Kan je relatief ten opzicht van [noparse]https://example.com[/noparse] een directory omhoog??
 

Black Tiger

Netwerk hobbyist. :)
Lid geworden
16 sep 2019
Berichten
380
Waarderingsscore
61
Punten
28
Locatie
State Penitentiary
Alleen intern, dus in je html pagina wel. T.b.v. bijv. laden van afbeeldingen of zo benaderen. In de meeste gevallen in elk geval wel. Ik schreef eerst men dan niet je afbeeldingen zou kunnen zien maar dat kan wel, er zijn slechts uitzonderlijke gevallen waarin dat niet kan.
Echter gewoon als bezoeker via website omhoog naar de directory die voor de www (of public_html) ligt kan niet.
Anders gezegd. Een bezoeker die je op Example Domain bezoekt kan zelf niet hoger dan je webroot (da's meestal de public_html of www directory). Zou niet goed zijn als hij in je gebruikersmap zou kunnen.
Wel verder, dus als je https://example.com/map maakt, kan een bezoeker wel naar map.

Of bedoelde je iets anders?

Soms wordt er ook wel eens in websites totaal naar een afbeelding verwezen, bijv. http://www.example.com/voorbeeld.jpg in de php of html file. In die situatie kun je dus geen afbeeldingen in een map voor de public_html zetten.
Ook een reden om gewoon een image map (of zo) te maken binnen de public_html.
 

roon

Websites
Lid geworden
21 feb 2020
Berichten
13
Waarderingsscore
2
Punten
3
Locatie
regio Den Haag
In de vraag van TS staat
Code:
<p> Test</p>
<img src="/image/underconstruction.jpg" width="width" height="height" alt="description" />
Dit betekent dat <img src="../Image/underconstruction.jpg" niet kan worden gebruikt. Als dit wel kan dan zijn er zeer zeer grote twijfels over de veiligheid van de host provider. De src van een <img> moet altijd een url zijn, dat kan geen intern pad naar een map zijn.

black tiger, ik kan mij helemaal vinden in jouw antwoord #2. Eventueel nog aan toevoegen om in bestandsnamen bij voorkeur geen spaties en leestekens te gebruiken. Uitzondering hierop zijn de . - _ (punt, liggend streepje, onderliggend streepte).
 
Laatst bewerkt:

Black Tiger

Netwerk hobbyist. :)
Lid geworden
16 sep 2019
Berichten
380
Waarderingsscore
61
Punten
28
Locatie
State Penitentiary
@roon Klopt helemaal wat je zegt. Ik raakte even in verwarring.

Maar voor zaken die de bezoeker rechtstreeks moet kunnen benaderen, zoals afbeeldingen en te downloaden documenten is dat niet mogelijk. Wat dat betreft was mijn antwoord in #2 inderdaad correct.
Je zou inderdaad mogen twijfelen aan de veiligheid bij de hoster als dat wel zou kunnen. Er zijn er waar het bij kan. Die hebben dan de basedir bescherming niet actief staan en da's niet best.
ALS het dan al kan... twijfel ik ook nog aan.

Het is wel mogelijk om uitsluitend intern iets te benaderen zoals ik in #6 schreef, maar geen afbeeldingen of documenten. Een applicatie die in de public_html draait zou wel iets intern kunnen laden op die manier en dan zelf gebruiken. Bijv. data uit een stukje eigen database of configuratie directory. Dat zie je echter nauwelijks meer.

Ben het ook met je eens v.w.b. spaties. Gewoon alles kleine letters, geen spaties maar evt. wel streepjes, en punten alleen daar waar de punten horen te staan dus voor de extensie, dat maakt alles veel gemakkelijker.
 

roon

Websites
Lid geworden
21 feb 2020
Berichten
13
Waarderingsscore
2
Punten
3
Locatie
regio Den Haag
Als TS iets met PHP doet dan kan dit helpen bij een pad of url. Getest op Linux en Windows.

Code:
<?php

// $ssl returns true if https, false otherwise
$ssl = ((!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') || ($_SERVER['SERVER_PORT'] == '443'));

// $prot returns 'http' or 'https' depending on ssl
$prot = 'http' . ($ssl ? 's' : '');

// $url_host returns hostname or ip address, depending on url
$url_host = (isset($_SERVER['HTTP_HOST'])) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'];

// $url_path returns url path, starting at document root, without trailing slash
$url_path = (strlen(dirname($_SERVER['PHP_SELF'])) < 2) ? '' : str_replace('\\', '/', dirname($_SERVER['PHP_SELF']));

// $url_full_path returns full url path to current folder, without trailing slash
$url_full_path = $prot . '://' . $url_host . $url_path;

// $dir_root returns directory path to document root without trailing slash
$dir_root = str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']);

// $dir_file returns full directory path to current file without trailing slash
$dir_file = str_replace('\\', '/', dirname(__FILE__));

?>

Voorbeeld van de output

prot : https
url_host : www.example.nl
url_path : /testmap
url_full_path : https://www.example.nl/testmap
dir_root : /home/domains/example.nl/public_html
dir_file : /home/domains/example.nl/public_html/testmap
 
Laatst bewerkt:
Bovenaan Onderaan