Mi función funciona fuera de la clase pero no dentro de la clase.
Frecuentes
Visto 47 veces
0
Siento que me estoy perdiendo algo obvio aquí. Tengo una clase de la siguiente manera:
<?php
class files
{
public function getDirectoryList($directory)
{
// create an array to hold directory list
$results = array();
// create a handler for the directory
$handler = opendir($directory);
// open directory and walk through the filenames
while($file = readdir($handler))
{
// if the file isn't this directory or the parent, add it to the results.
if($file != "." && $file != "..")
{
$results[] = $file;
}
}
// tidy up: close the handler
closedir($handler);
//done
return $results;
}
}
?>
Ahora tengo la clase incluida en otro archivo y estoy haciendo lo siguiente:
$fileListing = new files();
$fileListing->getDirectoryList('education');
No estoy recibiendo ningún resultado de vuelta. Si saco la función de la clase y la pongo en este archivo, puedo obtener resultados haciendo:
$fileListing = getDirectoryList('education');
0 Respuestas
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas php or haz tu propia pregunta.
¿Está devolviendo la llamada al método de clase a una variable, como en el segundo ejemplo? - Jared Farrish
No hay nada malo en su código, verifique qué
var_dump( $fileListing->getDirectoryList('education') )
Te dijo. - moonwave99si desea imprimir el resultado, use 'echo $ resultados' en su función; de lo contrario, asigne a la variable, como lo sugiere @JaredFarrish - Dirk McQuickly
¿Ha intentado pasar rutas absolutas en las dos versiones del código, solo para asegurarse de que esto no esté relacionado con rutas relativas? - Bogdan Stăncescu
Sheesh... Me espacié completamente al asignarlo a una variable. Usando
$myfiles = $fileListing->getDirectoryList('education');
trabajó. Simplemente no estaba viendo eso. Gracias Jared y Dirk. - Nick Bair