-
Notifications
You must be signed in to change notification settings - Fork 0
/
validar-posible-escritura-de-un-path.php
72 lines (53 loc) · 1.78 KB
/
validar-posible-escritura-de-un-path.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
// Le das las rutas a verificar pero solo escribe en archivo en el destino del path
$rutas = ['/var/www/html/sistema/_lib/tmp/','/var/www/html/prueba/tmp/'];
foreach($rutas as $rutaReporte){
echo '<table>';
$arrPGBackup = ['Prueba escritura en: '.$rutaReporte];
$arrSYBackup = ['Prueba escritura en: '.$rutaReporte];
$parts = explode('/', $rutaReporte);
$dir = '';
echo "Ruta actual: $rutaReporte<br>";
for ($i = 0; $i < count($parts); $i++) {
$dir .= $parts[$i] . '/';
if($rutaReporte.'/' == $dir){
break;
}
if (is_readable($dir)) {
if ($handle = opendir($dir)) {
if (false !== ($entry = readdir($handle))) {
$esW = is_writable($dir) ? 'Se puede escribir' : 'No se puede escribir';
echo "<tr><td>$dir</td> <td>La carpeta es legible y $esW<td></tr>";
}
closedir($handle);
}
} else {
$esW = is_writable($dir) ? 'Se puede escribir' : 'No se puede escribir';
echo "<tr><td>$dir</td> <td>La carpeta es legible y $esW<td></tr>";
/*$carpeta = $rutaReporte;
if (!file_exists($carpeta)) {
mkdir($carpeta, 0777);
chmod($carpeta, 0777);
} else {
chmod($carpeta, 0777);
}*/
}
}
echo '</table>';
try {
$contenido = implode("\n", array_merge($arrPGBackup,$arrSYBackup));
$archivo = $rutaReporte."prueba_de_escritura_".date('Y-m-d').".txt";
if (file_put_contents($archivo, $contenido) !== false) {
//echo "Archivo creado exitosamente.";
$contenido_actual = file_get_contents($archivo);
echo "Contenido actual del archivo:\n" . $contenido_actual;
} else {
$contenido_actual = false;
sc_alert("Error al crear el archivo.");
throw new Exception("Error al crear el archivo.");
}
} catch (Exception $e) {
$contenido_actual = false;
sc_alert( "Error de archivo: " . $e->getMessage());
}
}