Os explico; me ayudaron a crear un script para abrir solo los archivos permitidos. En este caso se quiere abrir un archivo letras.txt . Si únicamente pongo: readfile($texto); el archivo si se abre y se lee, pero si pongo el resto del script ya me da "archivo no permitido", pese a ser un .txt.
¿Dónde puede estar el error? Mil gracias

<?php
$permitidos = array("txt");
$extension = explode(".",$_GET["archivo"]); //division del archivo que quieres abrir en un array asignando los valores dinamicamiente dividiendo el archivo por el punto, asi nos queda $extension[0] = nombre de la imagen, $extension[1] = extension de la imagen:
for($i=0 ; $i<count($permitidos) ; $i++){
if($permitidos[$i]==$extension[1]){
$valor = "ok";
break;
}
}
if( isset($valor) && !empty($valor) ){
readfile($texto);
}
else{
echo "Archivo no permitido";
}?>