Bonjour, j ai besoin de votre aide pour une petite fonction PHP:
je doit exploite un repertoire sur mon serveur LINUX mais le probleme qui me
STOP, c'est comment cherche un fichier .WAV de FORMAT suivante
:OUT2045-20121124-152939-1353770979.29539.wav !
mais moi je doit cherche par (OUT2045-20121124-152939- telephone.29539.wav)
l'index 3 ca ve dire le telephone sachant bien q'il fait partie d une chaîne
de caractère
j ai utilise GLOB() pour liste les fichier de mon répertoire mais j'ai pas pu
encore faire la recherche ;

5 réponses


s4p
Réponse acceptée
<?php

    function search($number){
        $files = glob('*');
        foreach ($files as $k => $file){
            $url = $file;
            $files$k] = new stdClass();
            $files$k]->url = $url;
            $files$k]->pathinfo = pathinfo($files$k]->url);
            if ($files$k]->pathinfo'extension'] === 'wav'){
                $files$k]->number = explode('-', $files$k]->pathinfo'filename']);
                $files$k]->number = $files$k]->number[3];
                $files$k]->number = explode('.', $files$k]->number);
                $files$k]->number = $files$k]->number[0];
                if ($files$k]->number == $number) return $files$k]->url;
            }
        }
        return false;
    }

    // retourne l'url du fichier
    // ou false s'il n'a pas été trouvé.
    if ($file = search('1353770979')){
        echo $file;
    } else {
        echo 'File not found.';
    }
?>

Essaye avec les regex, je pense que ça peux le faire

function seek_something($WE_SEARCH_NUMBER_HERE)
{
        // l'Astérisque est pour sélectionner tout les fichiers.
        // Les crochets sont la pour sortir une ou plusieurs occurrences.
        // Regarde la doc php si tu ne comprend pas.
    $fileArray = glob('/DOSSIER_DE_NOMBRE/*{'.$WE_SEARCH_NUMBER_HERE.'}*',GLOB_BRACE);
    $ret = '<code>'.PHP_EOL;
    foreach ($fileArray as $file) {
            $ret .= '<p>'.$file.'</p>'.PHP_EOL;
    } unset($fileArray,$file);
    $ret .= '</code>'.PHP_EOL;
    return $ret;
}

kiSS =)

avatarvb
Auteur

Bonjour, j'apprecie votre aide j ai tester les deux code celui de
" s4p" etait parfait mais on local "sur le mon HDD il ma récupérer le file rapidement " mais avec le serveur sa boucle tellement et sans resultat
Merci aussi " Usermind42"

avatarvb
Auteur

Bonjour SVP comment je peux boucle sur le résultat du recherche effectuer et tienne a remercier encore une foie
s4p