Een overeenkomende string in de bestandsnaam zoeken [jquery]
Door
Hans De Ridder
op 26-06-2017 18:46
gewijzigd op 26-06-2017 22:21
2.423 views
Ik heb het volgende script gevonden om te zoeken of de bestandsnaam bestaat in een dir.
Nu moet ik eigenlijk een script hebben waarbij er gezocht wordt of een deel (string) in de bestandsnaam voor komt.
Je hebt bijv. de bestandsnaam: jan_kees_arie.jpg.
De string is : kees.
Dan dient er dus gekeken te worden of de string 'kees' voorkomt in de bestandsnamen.
En zal dan 'jan_kees_arie.jpg' een geldend bestand zijn.
Is dat te verwezenlijken?
Misschien met 'wildcards'?
<html>
<head>
<meta charset="utf-8">
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<script>
function imageExists(url, callback) {
var img = new Image();
img.onload = function() { callback(true); };
img.onerror = function() { callback(false); };
img.src = url;
}
function validateImageURL()
{
var imageUrl = 'j22R1Cn6oyg.jpg';
imageExists(imageUrl, function(exists) {
//Show the result
alert('Fileexists=' + exists);
});
}
</script>
</head>
<body>
<input type="button" value="Validate" onclick="validateImageURL()" />
</body>
</html>
Ik moet het kunnen benaderen vanuit javascript functie.
De oplossing in PHP heb ik wel. Als voorbeeld de filename 'jan_kareltje_pieter'.
Ik bewerk nu een open source fotoboek. De uitdraai vanuit de diverse php scripts vormt gewoon een html opbouw
Met in de head wat javascript. En die kan ik wel aanvullen.
Het gaat in het javascript om:
Als de filename-string bestaat, dan moet er een actie uitgevoerd worden worden in een javascript.
Die functie moet ook telkens worden opgeroepen bij elke click op een foto.
Hier de PHP uitvoering:
Javascript is client-side. De bestanden staan op de server. Dat is dus server-side. Enkel met javascript gaat dat dus niet lukken .... tenzij je bij ieder request alle bestandsnamen zou ophalen van de server, die zou opslaan als javascript array en vervolgens zou vergelijken of het nieuwe bestand daarmee matcht. Maar dat lijkt me ietwat omslachtig :-s
Afgezien van de spelfout in transp.php doe je niets op het moment dat de gegevens terugkomen (de success functie handelt geen data af). Wat gebeurt er als je de success verandert in iets als dit?