El problema es el siguiente, estoy tratando de crear una base de datos de letras de canciones sacando estas mismas de la página "azlyrics.com". Y me surge un problema cuando quiero pasar las letras a archivos txt.
Estoy utilizando el patrón de diseño modelo, vista, controlador (mvc).
El problema puntual es que cuando traigo todas las canciones ya guardadas en la base de datos y armo con ellas la url para entrar a la página donde se encuentra la letra de la misma, luego de unas 70 y pico de canciones me bloquea (entiendo yo) el servidor donde está alojada la página y no puedo seguir capturando las letras. Cuando finaliza, intento entrar a la página (azlyrics) y me tira el siguiente error:
Y hasta que no reinicio el router no puedo entrar otra vez a la misma.
public function letras()
{
require_once 'models/BuscarAzLyrics/letras.php';
require_once 'models/MySql/BuscarAzLyrics/mysql.php';
require_once 'models/BuscarAzLyrics/BuscarCodigo.php';
ini_set('memory_limit', '-1');
//Traigo todas las canciones
$canciones = new mysql;
$canciones->traerCancion();
//for ($i = 0; $i<sizeof($canciones->vectorConsulta); $i++)
for ($i = 0; $i<50; $i++)
{
set_time_limit(60*5);
//-->>Armo URL de la página con la letra de la canción y capturo el código
$urlCancion = $canciones->vectorConsulta[$i][6];//Traigo la parte final de la url
$url = 'http://www.azlyrics.com/' . $urlCancion;
$codigoUrl = file_get_contents($url);
echo $codigoUrl;
//Armo la ruta donde se va a guardar el archivo
$ruta = "letras/" . $canciones->vectorConsulta[$i][0] . ".txt";//vectorConsulta[$i][0] contiene el id de la canción
$fichero1 = new letras($ruta);//Cuando instancio al objeto le mando la ruta
echo $ruta . "<br />";
try{
if ($fichero1->abrir('a')){
$fichero1->guardarEnArchivo($codigoUrl[0]);//Mando al objeto el código a guardar dentro del archivo
$fichero1->cerrar();
}
else
echo '<br />error al abrir el fichero de lectura';
} catch (Exception $e){
echo $e->getMessage();
}//catch
}//for i
}