Estoy utilizando la funcion file_get_contents para subir el contenido de varios txt a mi base de datos mysql.
Con los primeros archivos, sin problema. Pero inexplicablemente con el último (que en local va bien) en internet me da el error 404.
El archivo esta en su ruta correcta, y ademas cuando solo lo muestro con echo lo hace perfectamente, el problema viene cuando intento meter el contenido en una variable.
El codigo es el siguiente:
Código PHP:
/* ----------------------- FALLO--------------------------------*/
mysql_query("DELETE FROM inmuebledescripcion");
$texto = file_get_contents ('../../txt/descripcion.TXT');
$lineas = explode("\n", $texto);
$numlineas=count($lineas);
for($n = 1; $n <= $numlineas; $n += 100)
{
$min=$n;
$max=$n+100;
for($i = $min; $i < $max; $i++)
{
$campos = explode(";", $lineas[$i]);
if ($campos[0]<>'')
{
$id=$campos[0];
$descripcion= str_replace("\"","",$campos[2]);
$descripcion= str_replace("'","",$descripcion);
$cabecera= str_replace("\"","",$campos[4]);
$cabecera= str_replace("'","",$cabecera);
$datos= "'".$id."','".$descripcion."','".$cabecera."'";
$insert = "insert into inmuebledescripcion(IdPiso,Descripcion,Cabecera)
values ('".$id."','".$descripcion."','".$cabecera."')";
//echo $insert." // <br>";
$result=mysql_query($insert,$link) or die(mysql_error());
}
}
}
/* ----------------------- CORRECTO --------------------------------*/
mysql_query("DELETE FROM inmuebles");
$texto = file_get_contents ('../../txt/inmuebles.TXT');
$lineas = explode("\n", $texto);
$numlineas=count($lineas);
for($n = 1; $n <= $numlineas; $n += 100)
{
$min=$n;
$max=$n+100;
for($i = $min; $i < $max; $i++)
{
$campos = explode(";", $lineas[$i]);
if ($campos[0]<>'')
{
$id=$campos[0];
$expediente= str_replace("\"","",$campos[3]);
$idtipoinmueble= str_replace("\"","",$campos[4]);
$idfamiliatipoinmueble= str_replace("\"","",$campos[5]);
$idtipooperacion= str_replace("\"","",$campos[6]);
$idpoblacion= str_replace("\"","",$campos[7]);
$situacion1= str_replace("\"","",$campos[8]);
$situacion2= str_replace("\"","",$campos[9]);
$superficie= str_replace("\"","",$campos[10]);
$preciopts= str_replace("\"","",$campos[13]);
$precioeur= str_replace("\"","",$campos[14]);
$hsimples_num= str_replace("\"","",$campos[18]);
$banoc_num= str_replace("\"","",$campos[19]);
$banoa_num= str_replace("\"","",$campos[20]);
$foto1= str_replace("\"","",$campos[103]);
$foto2= str_replace("\"","",$campos[104]);
$foto3= str_replace("\"","",$campos[105]);
$foto4= str_replace("\"","",$campos[106]);
$foto5= str_replace("\"","",$campos[107]);
$foto6= str_replace("\"","",$campos[108]);
$parametrizable1= str_replace("\"","",$campos[111]);
$parametrizable6= str_replace("\"","",$campos[112]);
$datos= "'".$id."','".$expediente."','".$idtipoinmueble."','".$idfamiliatipoinmueble."'
,'".$idtipooperacion."','".$idpoblacion."','".$situacion1."','".$situacion2."'
,'".$superficie."','".$preciopts."','".$precioeur."','".$hsimples_num."'
,'".$banoc_num."','".$banoa_num."','".$foto1."','".$foto2."','".$foto3."'
,'".$foto4."','".$foto5."','".$foto6."','".$parametrizable1."','".$parametrizable6."','".addslashes($descripcion)."','".addslashes($cabecera)."'";
$insert = "insert into inmuebles (IdPiso,Expediente,IdTipoInmueble,IdFamiliaTipoInmueble,IdTipoOperacion,IdPoblacion,Situacion1,Situacion2,SuperficieTotal,PrecioPts,PrecioEur,Hsimples_num,BanoC_num,BanoA_num,Foto1,Foto2,Foto3,Foto4,Foto5,Foto6,Parametrizable1,Parametrizable6,Descripcion,Cabecera)
values (".$datos.")";
$result=mysql_query($insert,$link) or die(mysql_error());
}
}
}
Vuelvo a decir que en local funciona sin problema, y que en internet funciona cuando le quito ese trozo de codigo.
Mil gracias. Es urgente