GNU/Linux, PHP, Programacion
Verificador de Permisos PHP
13 de Abril del 2009 por b@cHo · Sin Comentarios
Con este script podemos verificar si el CHMOD concuerda con el que querramos en el ejemplo se pueden ver ambos casos: Si es el chmod deseado o si no lo es.
Esta especie de scripts son muy utiles al momento de verificar grandes cantidades de directorios y o archivos, este script también funciona con archivos.
Tambien con este script se presenta un buen uso de clearstatcache(); entre otras funciones, y se maneja un ejemplo para integrarlo a una tabla previamente hecha en HTML
<?php function ver_chmod($nombre,$ruta,$deberia)
/*
Descripción:
Ver_Chmod te permite ver el estado actual de permisos de un directorio o un archivo y te muestra si es el pedido o no
Su uso:
por ejemplo para verificar el directorio en el que este esta seria:
llama funcion etiqueta directorio chmod querido
ver_chmod ("raiz", "./", "0755");
para retroceder rutas se usa un . por ejemplo para ver 2 directorios arriba
ver_chmod("dosdirectorios",".../","0755");
esta funcion se peude usar en mas de una petición y usando solo una funcion
ver_chmod("raiz","./","0755");
ver_chmod("imagenes/",".../imagenes","0755");
ver_chmod(".htaccess",".../.htaccess","0644");
y automaticamente lo combierte en una tabla, y el color de fondo varia si el chmod pedido es el mismo
Sugerencias:
Al momento de mostrarlo se crea con una tabla, se sugiere hacer una tabla parecida a esta para que concuerde el diseño:
<table width="100%" border="0" cellspacing="0" cellpadding="3" style="text-align:center;">
<tr>
<th style="border:0px;"><b>Nombre</b></th>
<th style="border:0px;"><b>Directorio/archivo</b></th>
<th style="border:0px;"><b>Chmod Necesario</b></th>
<th style="border:0px;"><b>Chmod Actual</b></th>
<script php>
</table>
*/
{
clearstatcache();
//borra la data anterior
$actual= substr(sprintf(".%o.", fileperms($ruta)), -4);
$estilo = (($actual != $deberia) ? "background-color:#fd7a7a;" : "background-color:#91f587;");
//crea el estilo de la tabla y lo compara con el chmod querido y el actual
echo "<tr style=".$estilo.">";
echo '<td style="border:0px;">' . $nombre . "</td>";
echo '<td style="border:0px;">'. $ruta ."</td>";
echo '<td style="border:0px;">' . $deberia . '</td>';
echo '<td style="border:0px;">' . $actual . '</td>';
echo "</tr>";
//final de la creacion de la fila
} ?>
El HTML usado en el ejemplo es el siguiente
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Checador de permisos</title>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="3" style="text-align:center;">
<tr>
<th style="border:0px;"><b>Nombre</b></th>
<th style="border:0px;"><b>Directorio/archivo</b></th>
<th style="border:0px;"><b>Chmod Necesario</b></th>
<th style="border:0px;"><b>Chmod Actual</b></th>
</tr>
<?php
ver_chmod("Directorio actual","./","0777");
ver_chmod("archivo","./chmod.php","0644");
?>
</table>
</body>
</html>
Acontinuacion el ejemplo
- Posts Relacionados
- Permisos Básicos en Linux Hola!, pues aqui les dejo el contenido de un excelente...
- Enviar correos desde Bash Pues en esta entrada les voy a compartir un pequeño...








