Hola soy novato en PHP y tengo q crear un programilla q m lea un fichero con este formato:
196.200.131.174 wn4.cnrst.magrid.ma
196.200.131.175 wn5.cnrst.magrid.ma
194.204.230.241 ws2.maghrebsteel.ma
194.250.170.168 w_w_w.cetelem.ma
194.204.202.4 w_w_w.directsky.ma
84.16.84.246 w_w_w.e-access.ma
84.16.95.115 w_w_w.e-access.ma
84.16.94.127 w_w_w.e-taiba.ma
193.49.31.115 w_w_w.eigsica.ma
194.204.209.6 w_w_w.eleves.inpt.ac.ma
quedandose solo con estos datos:
magrid.ma
maghrebsteel.ma
cetelem.ma
directsky.ma
e-access.ma
e-taiba.ma
eigsica.ma
inpt.ac.ma
La lectura y aislamiento de los datos me loas hace bien pq los inserto todos en un fichero auxiliar para hacer pruebas y ver q me sta leyendo y el resltado es correcto. Pero el objetivo no es almacenar estas capturas en un txt auxiliar sino en una BD; y ahi es donde aparecen mis problemas y keria saber si alguien me puede exar una mano q estoy muy perdido, el codigo es el siguiente:
<?php
ini_set('display_errors', E_ALL ^ E_NOTICE);
error_reporting(E_ALL ^ E_NOTICE);
mysql_connect('localhost', 'root', '') or die("Could not connect: " . mysql_error());
mysql_select_db('dominios');
$domain_aux= array(0 => "co", 1 => "net", 2=> "ac", 3=> "org", 4=> "gov", 5=> "press");
$file=fopen("C://wamp//www//ma", "r") or exit ("Unable to open file!!");
$auxiliar = fopen("C://wamp//www//prueba.txt","w");
$k=0;
$misdominios=array();
function tableExists($table_name)
{
$Table = mysql_query("show tables like '" . $table_name . "'");
if(mysql_fetch_row($Table) === false)
return(false);
return(true);
}
//echo "apertura correcta"."<br/>";
while (!feof($file)) {
$bufer = fgets($file);
if($bufer===null)
{
echo "linea vacia";
break;
}
$resultado=sscanf($bufer, "%s %s");
//unset($result[0]);
$linea=$resultado[1];
$lin=explode(".", $linea);
if($lin[count($lin)-2]===$domain_aux[0]|| $lin[count($lin)-2]===$domain_aux[1] || $lin[count($lin)-2]===$domain_aux[2] || $lin[count($lin)-2]===$domain_aux[3] || $lin[count($lin)-2]===$domain_aux[4] || $lin[count($lin)-2]===$domain_aux[5]){
$guardo = lin[count($lin)-3].".".$lin[count($lin)-2].".".$lin[count($lin)-1];
}
else{
$guardo = $lin[count($lin)-2].".".$lin[count($lin)-1];
}
$tabla= $lin[count($lin)-1];
if(tableExists($tabla)){//La tabla existe
$sql="SELECT Direccion from ".$tabla." where Direccion ='".$guardo."'";
$result=mysql_query($sql);
$num_rows = mysql_num_rows($result);
if ($num_rows>0){}
else{//Insertamos guardo en tabla $tabla
echo "tu padre";
$sql2 = "INSERT INTO ".$tabla." (Direccion) VALUES ('".$guardo."')";
mysql_query($sql2);
}
}
else{
$sql="CREATE TABLE ".$tabla." ('Direccion' varchar(30));";
mysql_query($sql);
$sql2 = "INSERT INTO ".$tabla." (Direccion) VALUES ('".$guardo."')";
mysql_query($sql2);
}
/*if (in_array($guardo, $misdominios)||($guardo==".")){}
else{
$misdominios[$k]=$guardo;
$k++;
echo $misdominios[$k];
fputs($auxiliar, $guardo. "\n");
} */
}
fclose($file);
fclose($auxiliar);
?>
De momento en mi BD dominios solo tengo estas tablas com, net y org, asi q m deberia de crear otra q fuese ma y me inserte ahi todas las direcciones sin repetir, pero no me lo hace ya q me salta un warning despues de $num_rows = mysql_num_rows($result); ya q no se pq el result no sta bien.
Por favor a ver si alguien me puede exar una mano q es muy urgente.
Muchas gracias de antemano