Foros del Web » Programando para Internet » PHP »

como cargar urls desde txt dentro de array

Estas en el tema de como cargar urls desde txt dentro de array en el foro de PHP en Foros del Web. Hola webmasters! estaba adaptando un buscador sin mysql a mi sitio web, busca las palabras y te muestra la informacion correspondiente, todo fuciono bien hasta ...
  #1 (permalink)  
Antiguo 31/03/2011, 08:54
 
Fecha de Ingreso: octubre-2009
Mensajes: 8
Antigüedad: 14 años, 5 meses
Puntos: 0
como cargar urls desde txt dentro de array

Hola webmasters!

estaba adaptando un buscador sin mysql a mi sitio web, busca las palabras y te muestra la informacion correspondiente, todo fuciono bien hasta que me cago un array(); lo que pasa es que en una parte del codigo trato de cargar dentro de un array un archivo.txt con las direcciones de los archivos que contienen la información.

ejemplo:

$cargar = include('indexacion.txt'); // archivo que contiene las urls.

$data = array($cargar);

intenté con include, file, fopen, file_get_contents y no e podido me sale un error dentro de todo el codigo que dile file stream file_Get_contents

me habían comentado que podía con fgets e ir guardando una linea de archivo por cada indice y del arreglo lo haces con un while hasta que acabe el archivo.

pero realmente estoy recien entrando a programar y trabajar con ficheros sobre todo. le agradeceria que me ayudaran a hacer esta adaptación con el codigo que les adjunto, de antemano muchas gracias.

aqui les dejo el codigo que como está funciona a la perfección pero al incluirle el txt ya comienzan los dolores de cabeza

ayudenme porfavor :S


<?php

//Fuciones
function decodificar_html($str,$FLAG = false){
$all = get_html_translation_table(HTML_ENTITIES, ENT_NOQUOTES);
$entities = get_html_translation_table(HTML_SPECIALCHARS, ENT_NOQUOTES);

if($FLAG)
$ARR = $all;
else
$ARR = array_diff($all, $entities);

$str = strtr($str, array_flip($ARR));
return $str;
}

//Array con todos los archivos html
$urls = array('indexacion/PS495788.txt','indexacion/PS0d133a.txt','indexacion/PS8905f1.txt','indexacion/PS5765f5.txt','indexacion/PSe9295d.txt');

if($_POST['key_words']){

$KW = $_POST['key_words'];
$data = array($based);

//Construimos un array con los campos SCORE,TITULO,META DESC y KW,CONTENIDO de cada uno de los archivos
for($i=0;$i<count($urls);$i++){
$content = file_get_contents($urls[$i]);
//$content = utf8_decode($content);
$data[$i]['score'] = 0;
preg_match("|<title>(.*)</title>|m", $content, $items);
$data[$i]['titulo'] = str_replace("'","\'",str_replace('"',"\"",$items[1]));
unset($items);
preg_match("|<a href=\"(.*)\">(.*)</a>|m", $content, $items);
$data[$i]['METAdesc'] = $items[1];
unset($items);
preg_match("|<body>(.*)</body>|m", $content, $items);
$data[$i]['METAkw'] = str_replace(",",", ",$items[1]);
unset($items);
$content = str_replace("\n","", $content);
$content = str_replace("[\n\r]","", $content);
$content = str_replace("[\n]","", $content);
$content = str_replace("'","\'",$desc[$i].'. '.$content);
$content = str_replace('"',"\"",$content);
$content = strip_tags($content);
$data[$i]['contenido'] = decodificar_html($content,true);
}

//Comprovamos las ocurrencias de las palabras clave y vamos aumentando el SCORE
for($i=0;$i<count($urls);$i++){
preg_match_all("|$KW|i", $data[$i]['titulo'], $items);
$data[$i]['score'] += count($items[0])*5;
unset($items);
preg_match_all("|$KW|i", $data[$i]['METAdesc'], $items);
$data[$i]['score'] += count($items[0])*3;
unset($items);
preg_match_all("|$KW|mi", $data[$i]['METAkw'], $items);
$data[$i]['score'] += count($items[0])*2;
unset($items);
preg_match_all("|$KW|i", $data[$i]['contenido'], $items);
$data[$i]['score'] += count($items[0])*1;
unset($items);
}

//Ordenamos el array por SCORE de mayor a menor
rsort($data);

//Parseamos
for($i=0;$i<count($urls);$i++){
if($data[$i]['score'] != 0){
print("<iframe name='mail' marginwidth='0' marginheight='0' src='funciones/vistabusqueda.php?".$data[$i]['METAdesc']."' frameborder='0' width='381' height='210' scrolling='no'></iframe>");
}
}
}

?>

Etiquetas: txt, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:52.