文件夹中的PHP文件计数

文件夹中的PHP文件计数,php,Php,我使用引导表和行来计算文件夹中有多少文件,但目标指向不同的服务器下面的代码不起作用。 由于我正在使用localhost(xampp)尝试这样做,我不知道这是否可能 <?php // integer starts at 0 before counting $i = 0; $dir = 'uploads/'; <!--\\189.207.00.122\folder1\folder2\folder3\test--> if ($handle = opendir($dir)) { w

我使用引导表和行来计算文件夹中有多少文件,但目标指向不同的服务器下面的代码不起作用。 由于我正在使用localhost(xampp)尝试这样做,我不知道这是否可能

<?php 
// integer starts at 0 before counting
$i = 0; 
$dir = 'uploads/'; <!--\\189.207.00.122\folder1\folder2\folder3\test-->
if ($handle = opendir($dir)) {
while (($file = readdir($handle)) !== false){
if (!in_array($file, array('.', '..')) && !is_dir($dir.$file)) 
$i++;
}
}
// prints out how many were in the directory
echo "There were $i files";
?>

使用
$\u服务器['DOCUMENT\u ROOT']
获取您的根目录

$dir = $_SERVER['DOCUMENT_ROOT'].'/uploads/';

这里有一个方便的小功能,你可能想试试。只需将
路径作为第一个参数传递到目录
,就可以得到结果

注意:此函数是递归函数,这意味着:它将遍历所有子目录。。。要禁用此行为,只需注释掉或删除函数末尾的以下行:


嗯,服务器可能拒绝了您的请求,大多数服务器都应该拒绝。(除非“目标服务器”是您自己的)。服务器是我自己的。我不知道是否必须在我的httpd文件中添加服务器地址以允许访问或$username$password。这是我收到的错误。警告:opendir(C:/xampp/htdocs/uploads/,C:/xampp/htdocs/uploads/):系统找不到指定的文件。(代码:2)在C:\xampp\htdocs\php\pages\index.php的第410行警告:opendir(C:/xampp/htdocs/uploads/):无法打开目录:在C:\xampp\htdocs\php\pages\index.php的第410行中没有这样的文件或目录。有0个文件。您想从htdocs中找到文件夹的目录是什么?这就是我输入代码检查以下目录$dir=$\u SERVER['.\\test\test1\test2';然后检查该文件夹中的内容。
<?php
            }else if(is_dir($temp_file_or_dir) && !preg_match('/^\..*/', $val) ){
                getFilesInFolder($temp_file_or_dir);
            }
<?php
    $folder = dirname(__FILE__).'/uploads';      // ASSUMES YOUR uploads DIRECTORY 
                                                 // IS IN THE SAME DIRECTORY AS index.php
                                                 // (/htdocs/php/pages)

    // OR
    $folder = dirname(__FILE__).'/../uploads';   // ASSUMES YOUR uploads DIRECTORY
                                                 // IS ONE DIRECTORY ABOVE
                                                 // THE CURRENT DIRECTORY (/htdocs/php)
                                                 // THIS IS MOST LIKELY RIGHT 
    // OR
    $folder = dirname(__FILE__).'/../../uploads';// ASSUMES YOUR uploads DIRECTORY
                                                 // IS TWO DIRECTORIES ABOVE
                                                 // THE CURRENT DIRECTORY (/htdocs)

    // MAKE SURE THE FOLDER IN QUESTION HAS THE RIGHT PERMISSIONS
    // OR RATHER CHANGE PERMISSIONS ON THE FOLDER TO BE ABLE TO WORK WITH IT
    chmod($folder, 0777);

    var_dump(getFilesInFolder($folder));


    // IF YOU PASS false AS THE THE 2ND ARGUMENT TO THIS FUNCTION
    // YOU'D GET AN ARRAY OF ALL FILES IN THE $path2Folder DIRECTORY
    // AS WELL AS IN SUB-DIRECTORIES WITHIN IT...
    function getFilesInFolder($path2Folder, $countOnly=true){
        $files_in_dir   = scandir($path2Folder);
        $returnable     = array();

        foreach($files_in_dir as $key=>$val){
            $temp_file_or_dir = $path2Folder . DIRECTORY_SEPARATOR . $val;
            if(is_file($temp_file_or_dir) && !preg_match("#^\..*#", $temp_file_or_dir)){
                $arrRX                  = array('#\.{2,4}$#', '#\.#');
                $arrReplace             = array("", "_");
                $returnVal              = preg_replace($arrRX, $arrReplace, $val);
                $returnable[$returnVal] = $temp_file_or_dir;
            }else if(is_dir($temp_file_or_dir) && !preg_match('/^\..*/', $val) ){
                getFilesInFolder($temp_file_or_dir);
            }
        }
        return ($countOnly) ? count($returnable) : $returnable;
    }