PHP foto's weergeven uit een directory

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Piet Knaap

Piet Knaap

04/08/2015 08:32:46
Quote Anchor link
Ik heb een stukje PHP code wat foto's uitleest uit een directory van een webserver. Het gaat bij 99% van de bestanden goed alleen bij bestanden waarin een ' verwerkt is niet. Zie het voorbeeld bestand.

Ik krijg op de server dat het bestand niet gevonden kan worden. Na lang zoeken blijkt het dus de ' te zijn in de bestandsnaam. Ik mag alleen de ' niet uit de bestandsnaam halen. Nu is mijn vraag hoe kan ik de ' op de juiste manier verwerken in de PHP variabele...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "<a href='./$namehref'$favicon target=\"_new\"><img src='./$namehref'$favicon height=\"100\" width=\"100\" /></a>";    




Variabele definitie
$namehref = Bestandnaam
$favicon = extentie

Voorbeeld bestandsnaam
Filename 'name'.jpg

Foutmelding Linux server
[error] [client 1.1.1.1] File does not exist: /var/www/Filename,
 
PHP hulp

PHP hulp

28/03/2024 20:56:01
 
Marthijn Buijs

Marthijn Buijs

04/08/2015 08:44:50
Quote Anchor link
Dan zou ik single quotes gebruiken voor je echo dan hoef je daarin ook niet dubble quotes te escapen.
En binnen in je echo gewoon html code gebruiken met dubbele quotes.

In princiepe je gebruik van quotes wat omdraaien en variables buiten quotes plaatsen.

Zoiets?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo '<a href="./' . $namehref . '"'. $favicon . ' target="_new"><img src="./' . $namehref . '"'. $favicon . ' height="100" width="100" /></a>';

?>


Heb niet getest en niet duidelijk wat die $favicon is..
Gewijzigd op 04/08/2015 08:48:59 door Marthijn Buijs
 
Piet Knaap

Piet Knaap

04/08/2015 09:56:17
Quote Anchor link
Beste Maarten, Bedankt voor de reactie. Ik heb het nu opgelost met

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$namehref = str_ireplace("'",  "&apos;", $namehref);


Misschien dat jij dat ook weet. Ik geeft met mijn script ongeveer 900 foto's weer uit een directory. Alleen soms geeft het script niet alle foto's terug. Ik zie dan alleen een kruis staan. Ofwel foto niet gevonden. De fotolink gaat wel goed?

Het lijkt net als of de pagina nog bezig is en dan maar zelf besluit om alleen een kruis weer te geven (ofwel foto niet gevonden)
 
- Ariën  -
Beheerder

- Ariën -

04/08/2015 09:59:04
Quote Anchor link
Kijk eens in de HTML-code naar welke bestandsnaam die foto's hebben?
 

04/08/2015 10:02:19
Quote Anchor link
Ik heb een OOP script gemaakt die dit perfect kan.
Er is nog wel wat aan te veranderen maar dat is een mooie kans voor je om het te maken zoals jij het graag wilt hebben.

http://delistio.us

Het is een opensource project waar iedereen aan kan meehelpen.
 
Piet Knaap

Piet Knaap

04/08/2015 10:02:39
Quote Anchor link
De namen staan goed. Als ik de foto link aanklik opent de foto wel goed...

Ook als ik de pagina handmatig vernieuw komen de ontbrekende foto's wel alleen dan verdwijnen er weer andere foto's (die eerst wel zichtbaar waren)... Het is heel erg willekeurig.

Toevoeging op 04/08/2015 10:08:59:

Beste Rickert,

Ik zie alleen maar staan

Tuesday 4th August 2015

Movies •The Amazing Spiderman (4096kb)

Bij de rest van de website (home/movies/ krijg ik pagina niet gevonden of toegang geweigerd enzovoorts
 
- Ariën  -
Beheerder

- Ariën -

04/08/2015 10:12:00
Quote Anchor link
Rickert Bombaklats op 04/08/2015 10:02:19:
Ik heb een OOP script gemaakt die dit perfect kan.

http://delistio.us

De link werkt niet, en geeft een Apache-webserver placeholder aan.
Het lijkt erop dat je IPv6-settings op je server fout zijn....
Gewijzigd op 04/08/2015 10:15:07 door - Ariën -
 

04/08/2015 11:13:37
Quote Anchor link
- Aar - op 04/08/2015 10:12:00:
Rickert Bombaklats op 04/08/2015 10:02:19:
Ik heb een OOP script gemaakt die dit perfect kan.

http://delistio.us

De link werkt niet, en geeft een Apache-webserver placeholder aan.
Het lijkt erop dat je IPv6-settings op je server fout zijn....


Ik heb de DNS wat aangepast, check over een uurtje nog eens. Zelf kan ik hem wel zien maar geen idee hoe te testen voor IPv6. Ik heb alles gewoon erbij staan nu.
 
Piet Knaap

Piet Knaap

04/08/2015 11:15:16
Quote Anchor link
Beste Rickert kan precies ik het over een uurtje downloaden?
 

04/08/2015 11:15:32
Quote Anchor link
Piet Knaap op 04/08/2015 10:02:39:
De namen staan goed. Als ik de foto link aanklik opent de foto wel goed...

Ook als ik de pagina handmatig vernieuw komen de ontbrekende foto's wel alleen dan verdwijnen er weer andere foto's (die eerst wel zichtbaar waren)... Het is heel erg willekeurig.

Toevoeging op 04/08/2015 10:08:59:

Beste Rickert,

Ik zie alleen maar staan

Tuesday 4th August 2015

Movies •The Amazing Spiderman (4096kb)

Bij de rest van de website (home/movies/ krijg ik pagina niet gevonden of toegang geweigerd enzovoorts


Piet, klopt!

De map die bestaat op de server bevat deze mappen en info.
Als je de Gitlab pagina of Readme bekijkt zie je hoe het werkt en hoe je het ook zelf kan gebruiken.

En als je de website al kan zien is het goed. Alleen IPv6 blijkt een probleem te zijn volgens Aar.
Maar dat moet hopelijk na een uur opgelost zijn (wegens DNS)

Verder wil ik ej er best bij helpen om de map uit te lezen.
Het is OOP dus super gemakkelijk uit te breiden met je eigen wensen.
Gewijzigd op 04/08/2015 11:19:08 door
 
Piet Knaap

Piet Knaap

04/08/2015 11:40:30
Quote Anchor link
Beste Rickert,

Heel erg bedankt alvast

Twee dingen wat ik eigenlijk wil is een lokale map uitlezen en deze weergeven (met een voorbeeld afbeelding) op één pagina + een zoekbox dat ik kan zoeken op een bestandnaam :)

Ik heb dit in mijn huidige pagina al werkend alleen de afbeeldingen komen soms niet in het scherm
Mijn pagina is baseert op https://css-tricks.com/snippets/php/display-styled-directory-contents/
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.