J'ai beaucoup de fichiers avec des noms de fichiers comme "black_abc", "white_abc", "black_cde", "white_abc". Comment puis-je obtenir seulement les fichiers avec le nom de fichier contenant "abc"?Comment obtenir tous les fichiers contenant la sous-chaîne comme "abc" dans le codeingiter
Répondre
Pouvez-vous utiliser strpos()
?
http://php.net/manual/en/function.strpos.php
<?php
$arr = ["black_abc","white_abc","black_cde","white_abc"];
foreach($arr as $i => $item) {
if (strpos($item, '_abc')) {
echo 'found _abc in ' . $item;
echo '<br>';
}
}
?>
Sortie:
found _abc in black_abc
found _abc in white_abc
found _abc in white_abc
J'ai des fichiers illimités qui ont ajouté dynamiquement donc je ne peux pas faire comme ça –
Utilisez la fonction glob() comme ceci:
<?php
$filename = "absolute path of the directory/*abc*";
foreach (glob($filename) as $filefound) {
echo "$filefound size " . filesize($filefound) . "\n";
}
?>
Cela ne fonctionne pas dans mon fichier php codeigniter –
Partagez votre code en question –
ok a obtenu le problème, il devrait être le chemin physique du répertoire, mis à jour la réponse –
où directroy? à partir de la base de données? et ce que vous avez essayé –
base_url(). "files /" de ce répertoire –
http://php.net/manual/fr/function.glob.php – tan