6
votes

Comment rechercher dans plusieurs fichiers .php?

J'ai environ 100 fichiers .php dans un répertoire et je suis à la recherche d'une petite fonction, quel est le moyen le plus rapide de rechercher le contenu de tous ces fichiers?

[modifier]

J'utilise Windows 7 Ultimate / Nusphere PHPP.


3 commentaires

Si vous avez Linux ou Mac - vous pouvez utiliser Grep . Si vous avez des fenêtres, vous pouvez utiliser Wingrep . Certains éditeurs disposent également d'une fonction "Trouver du texte dans des répertoires", mais cela dépend vraiment de ce que vous utilisez.


Grepwin


Reportez-vous à ce projet: Github.com/skfaisal93/anywhereInfiles


6 Réponses :


6
votes

Utilisez la fonction de vos éditeurs PHP "Rechercher des fichiers".

inestimable.

Modifier PHPNUSPHERE soutient totalement cela. Vous devez apprendre de google fu frère.

Si votre éditeur n'en a pas, vous devez changer d'après-vente dès que possible. https://stackoverflow.com/search?q=php+editor

Recherche dans les fichiers de Visual Studio

Rechercher dans les fichiers dans Bloct-Notepad ++


3 commentaires

J'utilise Nusphere Phped, je ne suis pas sûr que si cela a cette fonction.


En fait, je n'ai jamais rêvé de cette fonction dans mon éditeur PHP, réfléchissait à une solution totalement différente, comme des trucs liés à la cmd ou une fonction PHP. Et tout ce dont j'avais besoin, c'était juste deux clics. / Merci beaucoup!


Je ne pourrais jamais apprendre une nouvelle base générale sans trouver dans des fichiers;) bonne chance!



7
votes

Essayez ceci:

<?php
function getFilesWith($folder, $searchFor, $extension = 'php') {

    if($folder) {
        $foundArray = array();
        // GRAB ALL FILENAMES WITH SUPPLIED EXTENSION
        foreach(glob($folder . sprintf("*.%s", $extension)) as $file) {
            $contents = file_get_contents($file);

            if(strpos($contents, $searchFor) !== false) {
                $foundArray[] = $file;
            }
        }

        if(count($foundArray)) {
            return $foundArray;
        } else {
            return false;
        }
    } else {
        return false;
    }
}

$matched_files = getFilesWith('path/to/folder', 'Looking for this');
?>


3 commentaires

Je veux dire, j'applaudis l'effort, mais c'est trop excité!


@Birryree sur l'hébergement partagé avec un accès limité C'est le seul moyen d'être sûr qu'il fonctionnera


Je suis d'accord ... La recherche avec le code est requise si nous n'avons accès que FTP et ne veut pas télécharger tous les fichiers ......



0
votes

Pour la fenêtre, j'ins installerais Cygwin et utilisez Rechercher ou Grep, mais en défaut

  • Installez le commandant total, utilisez Alt + F7 pour rechercher récursivement. Il existe également une option Remplacer dans plusieurs fichiers - http://www.ghisler.com Vous vous demanderez comment vous avez déjà navigué votre système sans qu'il

  • en utilisant Notepad ++ Vous pouvez ouvrir tous les fichiers et faire Une recherche de texte normale cochez simplement la case 'Recherche dans tous les fichiers ouverts'


0 commentaires

1
votes
function search_in_dir( $dir, $str )
{
    $files = glob( "{$dir}/*.php" );
    foreach( $files as $k => $file )
    {
        $source = file_get_contents( $file );
        if( strpos( $source, $str ) === false )
        {
            unset( $files[$k] );
        }
    }
    return array_filter( $files );
}
$files = search_in_dir( 'dir/files', 'my string' );

0 commentaires

4
votes

Installez CGYWIN - alors vous pouvez utiliser Grep!


1 commentaires

ça allait être ma réponse! +1



0
votes

J'utilise le code suivant xxx

Créer un dossier dans le chemin de votre code
Placez vos fichiers dans ce dossier
Les fichiers contenant votre texte sont affichés en bleu. Ensuite, les textes seront remplacés par


0 commentaires