El código que muestro a continuación funciona a la perfección pero lo he estado intentando pasar a programación POO y no los pinta de forma dinámica, ¿alguien sabe a que se debe?
Buffer php => https://www.php.net/manual/en/function.ob-start.php
Código en programacion estructurada como prueba de concepto
Código
<?php foreach($directorios as $dir) echo "<pre>"; echo "Loading ..."; $rolling_window = 100; ( CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_USERAGENT => 'DHunter'); $options = $std_options; for ($i = 0; $i < $rolling_window; $i++) { $options[CURLOPT_URL] = $list[$i]; } $i = 0; do { if($execrun != CURLM_OK) break; { if ($info['http_code'] == 200) { $directorios[] = $info['url']; $i++; echo $info['url']."<br>"; } $options[CURLOPT_URL] = $list[$i++]; } }while ($running); echo "<br>Done"; function progress() { }
Esta es la version de POO que no pinta los resultados de forma dinamica:
Clase BruterDirectory
Código
<?php class BruterDirectory extends Bruter { private $directories; private $domain; public $handle; public function __construct($domain,$list) { parent::__construct($list); $this -> domain = $domain; } public function doSearch() { echo "<pre>"; echo "Loading ..."; $rolling_window = 100; ( CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, //CURLOPT_MAXREDIRS => 2, CURLOPT_USERAGENT => 'Mozilla/5.0 (X11; Windows; Windows10_64bits; rv:72.0) Gecko/20100101 Firefox/72.0'); $options = $std_options; for ($i = 0; $i < $rolling_window; $i++) { } $i = 0; do { if($execrun != CURLM_OK) break; { if ($info['http_code'] == 200) { $directorios[] = $info['url']; $i++; echo $info['http_code']."<br>"; } } }while ($running); echo "<br>Done"; return $directorios; } public function progress() { }
Y la llamada al metodo "doSearch" en el fichero main.php
Código
$domain="http://www.google.com"; foreach($directorios as $dir) $bruterDir = new BruterDirectory($domain,$urls); dirs = $bruterDir -> doSearch();
Cualquier sugerencia es bienvenida.