Foros del Web » Programando para Internet » PHP »

Array_diff funciona en explorer y no en Firefox

Estas en el tema de Array_diff funciona en explorer y no en Firefox en el foro de PHP en Foros del Web. Buenos días, llevo horas intentando saber porque un array_diff me funciona correctamente en Explorer y no lo ejecuta bien en Firefox. Además necesito el array_dif ...
  #1 (permalink)  
Antiguo 14/12/2011, 07:32
 
Fecha de Ingreso: abril-2007
Ubicación: Madrid
Mensajes: 3
Antigüedad: 16 años, 11 meses
Puntos: 0
Array_diff funciona en explorer y no en Firefox

Buenos días, llevo horas intentando saber porque un array_diff me funciona correctamente en Explorer y no lo ejecuta bien en Firefox.
Además necesito el array_dif no puedo codificar de otra forma ya que se trata de 2 ficheros con un listado de numeros y necesito la diferencia entre los numeros que selecciono y los del listado original, para con esa diferencia crear un nuevo fichero.
No se si me explico bien, pero es que no encuentro ningún error en el código (la muestra es que funciona bien en explorer y me devuelve la diferencia) y sin embargo en firefox parece que no es capaz de leer esa diferencia.
Muchas gracias por intentar ayudar
Angel
  #2 (permalink)  
Antiguo 14/12/2011, 08:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Array_diff funciona en explorer y no en Firefox

PHP no se afecta por navegador. ¿Qué estás haciendo exactamente? Si es que no se visualiza de una manera en expecífica, eso es problema de CSS no de PHP. array_diff cumple su propósito del lado del servidor.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 14/12/2011, 17:21
 
Fecha de Ingreso: abril-2007
Ubicación: Madrid
Mensajes: 3
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Array_diff funciona en explorer y no en Firefox

Cita:
Iniciado por abimaelrc Ver Mensaje
PHP no se afecta por navegador. ¿Qué estás haciendo exactamente? Si es que no se visualiza de una manera en expecífica, eso es problema de CSS no de PHP. array_diff cumple su propósito del lado del servidor.
Te paso el código. Se que es un poco chapuza (no soy experto), lo que tengo es un formulario incial donde presento unos numeros que guardo en un fichero txt, al seleccionar los numeros del formulario y entrar lo que debería de hacer es grabar en un fichero los numreos seleccionados, compararlos con el fichero que contiene los numeros totales y con el array_diff calcular la diferencia de ambos. Con esa diferencia vuelvo a generar el fichero inicial con todos los numeros excepto los seleccionados por el usuario. Te pego solo el código que me funciona con Explorer pero no con Firefox (por cierto tengo que hacer otra chapuza porque con IE tengo un problema con los espacios en blanco que genera mi código, no he logrado depurarlo):

//Despues de seleccionados los números en mi formulario, llamo al fichero txt con una lista de numeros
$arrayserie1 = file("db/ss1.txt");

//Este es el fichero donde se copiaran los números que selecciono desde un formulario
$nomtxtselss1 = "select/select1.txt";

//y genero los numeros seleccionados:
$txtselectss1 = fopen($nomtxtselss1, "w");
// condiciono que cree el fichero a que la variable traiga datos y escribo un número en cada linea.
// La variable $HTTP_POST_VARS["numeross1"] trae los numeros seleccionados en mi formulario
if ($HTTP_POST_VARS["numeross1"]!=""){
foreach ($HTTP_POST_VARS["numeross1"] as $ss1arraypost){
fwrite( $txtselectss1, $ss1arraypost."\n" );
}
}
fclose( $txtselectss1 );

//Leo el fichero con los números seleccionados en la serie 1ª
$verselss1=file("select/select1.txt");


//Esto es algo cutre pero necesario porque sino no me funciona en el EXPLORER. Vuelvo a reescribir el fichero select ya que con IE me da un salto de linea de más y la tengo que eliminar.
//Con Firefox me funciona bien. Esto solo lo hago por EXPLORER pero con FIREFOX no haría falta
//abro o creo el fichero y escribo los números seleccionados
$txtselectss1 = fopen($nomtxtselss1, "w");

// quito la linea vacia preguntando el tamaño del elemento del array
//si es mayor que 1 entonces le reescribo y sino le salto.
$contselss1=count($verselss1);
for($j = 0; $j <= $contselss1; $j++) {
if (strlen($verselss1[$j])>1){
fwrite( $txtselectss1, $verselss1[$j] );
}
}
fclose( $txtselectss1 );


//Vuelvo a leer el fichero con los números seleccionados pero del fichero corregido sin espacios
$verselss1=file("select/select1.txt");


//calculo la diferencia entre el archivo con la lista completa de numeros y el fichero con los numeros seleccionados
$arraydifss1 = array_diff( $arrayserie1, $verselss1 );


//CUANDO LEO LOS DATOS CON EXPLORER ME SALEN CORRECTOS, PERO CUANDO LOS LEO CON FIREFOX LA VARIABLE DIFERENCIA ME VUELVE A LEER TODOS LOS NUMEROS DEL FICHERO PRIMERO ss1.txt, PARECE COMO SI NO ENTENDIERA EL CONTENIDO DEL FICHERO
foreach( $arrayserie1 as $echoarrayserie1 )
echo "<br>TODOS= ".$echoarrayserie1;

foreach( $verselss1 as $echoverselss1 )
echo "<br>SELECCIONADOS= ".$echoverselss1;

foreach( $arraydifss1 as $echoarraydifss1 )
echo "<br>DIFERENCIA= ".$echoarraydifss1;

Etiquetas: explorer, firefox
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 04:16.