Lo que me interesa es personalizar el error de cuando se importa un archivo que no existe, pense en hacerlo con la funcion elseif que mirase si el archivo existe y si no existe que haga un echo.
Pero no se que hacer para ver si existe el archivo o si hay alguna forma en la funcion include, pues eso.
PD:Me he leido lo de php.net y busque en google. Gracias.
Hola,
En Google he comprobado que la cadena "existe fichero PHP" tiene tu solución.
Yo te pongo la mía: tienes en PHP una función de tipo binario llamada bool file_exists(string nombrefichero) la cual retorna 0 o 1 dependiendo de si existe o no el archivo.
Podrías programar el "error" así:
if(file_exists($tufichero))
{
//...
}
else
{
//ERROR
}
Salu2
Bueno, le puse el código para limpiar, para que no me hagan RFI, aviso que este código me lo enseño "Azielito" para que no me hicieran XSS y lo modifique yo para que no permita los RFI (No quiero lucirme, lo digo por si alguien no quiere un RFI):
<?php
function limpia($var){
$var = strip_tags($var);
$malo = array("\\",";","\'","'","/","..","%","(",")"); // Aqui poner caracteres no permitidos
$i=0;$o=count($malo);
while($i<=$o){
$var = str_replace($malo[$i],"",$var);
$i++;
}
return $var;
}
if($_GET){
$mqg=$_GET['mqg'];
}
?>
Una vez limpia ya puedo poner este código, de tal forma que solo se podrá importar archivos de la carpeta donde se esté ejecutando la web con este código:
<?php if(file_exists(limpia($mqg)))
{
include limpia($mqg);
}
else
{
echo "Disculpe el Manga que busca no se encuentra disponible";
} ?>
Por su puesto este último código es gracias a eLank0 que me dijo lo de "file_exists"
Por último dar las gracias a todos.
tambien podrias haber hecho
if(!@include(limpia($mqg))){
echo "Disculpe el Manga que busca no se encuentra disponible";
}
:D
Disculpen:
¿Que funcion tiene el @ en las funciones valga la redundancia?
La cuestión es que vi el "@" esta mañana, es para definir errores, pero creo que servía para más, bueno antes de fastidiarla, aquí te dejo la información:
http://es.php.net/manual/es/language.operators.errorcontrol.php
Cita de: Azielito en 9 Enero 2008, 21:49 PM
tambien podrias haber hecho
if(!@include(limpia($mqg))){
echo "Disculpe el Manga que busca no se encuentra disponible";
}
:D
Sin duda, no defraudas XD, muchas gracias, no está de más aprender cosas nuevas.