بإمكانك استخدام هذا البرنامج، إذا كانت لديك في جهازك الإصدارة php 4.3 ومشغل cli
سجل هذا الكود باسم phpfind.php
(لا تنس أن تغير كلاً من basepath$ و ext$ لتناسب احتياجاتك
كود PHP:
<?php
// File Contents Search
// by [email]VisualMind@php.net[/email]
// No rights reserved
// This script is totally free
// change base
// path to yours
$basepath = 'c:/apache/htdocs/';
// change file extensions
// to meet your requirements
$ext = '.php';
// run from prompt with
// php cli 4.3.0 or higher
// cli phpfind
$f=0;$r=array();
$x=' ';
while($x) {
echo "Look For:";
$x=trim(fgets(STDIN,60000));
if ($x && $x!='exit') {
find($basepath,$x);
echo "Looked in $f file(s)\n";
echo "Found ".count($r)." matches\n";
foreach($r as $k) {
echo "-Found in ".realpath($k)."\n";
$l++;
if ($l>20) {
$l=0;
echo "Press ENTER to continue\n";
exec('pause');
}
}
}
}
function find($dir,$text) {
global $f,$r, $ext;
// echo "Looking in $dir...\n";
$o=opendir($dir);
while($en=readdir($o)) {
if (is_dir($dir.$en) && $en!='..' && $en!='.') find($dir.$en.'/', $text);
if (substr($en,-1 * strlen($ext))==$ext) {
$f++;
$z=fread($sf=fopen($dir.$en, 'r'), filesize($dir.$en));
fclose($sf);
if
(stristr($z,$text)) {
$r[]="$dir$en";
}
}
}
}
?>
شغل هذا الملف من موجه DOS بعد الانتقال إلى مجلد php/cli (او ابحث عن cli.exe)
وسوف يسألك عن الكلمة المراد البحث عنها، وبعد ذلك سيبحث في كل المجلدات المتفرعة من basepath$ ويعرض لك قائمة بالملفات التي وجد الكلمة فيها، بإمكانك تغيير البرنامج إذا أردت ليعمل على صفحات الويب..
__________________
visualmind (at) php.net
أعتذر كثيراً عن غيابي من المشاركات والذي لن يطول أكثر إن شاء الله.