PHP - Problemas al parsear

 
Vista:
sin imagen de perfil
Val: 25
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problemas al parsear

Publicado por Ruben (24 intervenciones) el 18/06/2019 09:18:48
Buenas..

Tengo un Script que parsea una pagina web utilizando simple_html_dom

1
2
3
4
5
$Url        = urlencode($_GET['Dir']);
 
require 'Libs/simple_html_dom/simple_html_dom.php';
$Result = new simple_html_dom();
$Result->file_get_html($Url);

Hasta hace unos dias funcionaba perfectamente, pero ahora al intentar parsear me da el siguiente error..

1
Fatal error: Call to undefined method simple_html_dom::file_get_html() in Z:\Users\MiPc....\Desktop\QONSOLA\Php\Parsear.php on line 20

Cual puede ser el problema.. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Fatal error: Call to undefined method simple_html_dom::file_get_html()

Publicado por joel (1269 intervenciones) el 18/06/2019 11:10:13
Hola Ruben, por alguna razón, ya no encuentra el método simple_html_dom::file_get_html()

Revisa en Libs/simple_html_dom/simple_html_dom.php que realmente exista y que la ruta sea correcta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 25
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Fatal error: Call to undefined method simple_html_dom::file_get_html()

Publicado por Ruben (24 intervenciones) el 18/06/2019 13:17:00
Gracias por contestar...

La ruta creo que esta correcta.. tengo mi script Php en la misma carpeta en la que tengo la carpeta Lib que contiene la carpeta simple_html_dom que contiene el archivo simple_html_dom.php.....

de todas formas... ¿no me daria un error de ruta (si la ruta estuviera mal ) en alguna de las dos lineas anteriores?

1
2
require 'Libs/simple_html_dom/simple_html_dom.php';
$Result = new simple_html_dom();

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Fatal error: Call to undefined method simple_html_dom::file_get_html()

Publicado por Mauro (946 intervenciones) el 18/06/2019 15:53:58
Creo que tienes razón respecto de la ruta... en todo caso, para salir de dudas, usa la ruta absoluta:

1
require __DIR__.'/Libs/simple_html_dom/simple_html_dom.php';

Otra recomendación es usar require_once en lugar de require (particularmente para la inclusión de librerías).

Por último, ¿estás seguro de que el método existe y se llama así? ¿Por qué no abres la definición de la clase y lo verificas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 25
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Fatal error: Call to undefined method simple_html_dom::file_get_html()

Publicado por Ruben (24 intervenciones) el 19/06/2019 12:07:16
Gracias por contestar...

Confirmado lo de la ruta... es correcta, si no lo fuera me daria error en las lineas anteriores... en cuanto asi existe la funcion

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// -----------------------------------------------------------------------------
// get html dom from file
// $maxlen is defined in the code as PHP_STREAM_COPY_ALL which is defined as -1.
function file_get_html($url, $use_include_path = false, $context=null, $offset = -1, $maxLen=-1, $lowercase = true, $forceTagsClosed=true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT)
{
    // We DO force the tags to be terminated.
    $dom = new simple_html_dom(null, $lowercase, $forceTagsClosed, $target_charset, $stripRN, $defaultBRText, $defaultSpanText);
    // For sourceforge users: uncomment the next line and comment the retreive_url_contents line 2 lines down if it is not already done.
    $contents = file_get_contents($url, $use_include_path, $context, $offset);
    // Paperg - use our own mechanism for getting the contents as we want to control the timeout.
    //$contents = retrieve_url_contents($url);
    if (empty($contents) || strlen($contents) > MAX_FILE_SIZE)
    {
        return false;
    }
    // The second parameter can force the selectors to all be lowercase.
    $dom->load($contents, $lowercase, $stripRN);
    return $dom;
}

No se me ocurre ninguna otra cosa que me de el error... Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Fatal error: Call to undefined method simple_html_dom::file_get_html()

Publicado por Mauro (946 intervenciones) el 19/06/2019 19:53:07
¿Puede ser que la función no sea un método de la clase si no una función "común y corriente"?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar