Foros del Web » Programando para Internet » PHP »

Resource id #3

Estas en el tema de Resource id #3 en el foro de PHP en Foros del Web. Hola todos Tengo este simple código para convertir una lista con direcciones de email separadas por saltos de línea en una lista separada por comas: ...
  #1 (permalink)  
Antiguo 13/08/2008, 03:23
(Desactivado)
 
Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 19 años, 7 meses
Puntos: 1
Resource id #3

Hola todos
Tengo este simple código para convertir una lista con direcciones de email separadas por saltos de línea en una lista separada por comas:

Código PHP:
<?
// Open file for read and string modification
$file "listemail.txt";
$fh fopen($file'r+');
$contents fread($fhfilesize($file));
$new_contents str_replace("\n"","$contents);
fclose($fh);

// Open file to write
$fh fopen($file'r+');
fwrite($fh$new_contents);
fclose($fh);
echo 
$new_contents;
Todo bien, logro cambiar lo que quiero pero sale este error:
Resource id #3

Por qué ?
Graciassssssssssss
  #2 (permalink)  
Antiguo 13/08/2008, 04:38
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Respuesta: Resource id #3

en vez de un echo haz un print_r:

Código PHP:
echo "<pre>";
print_r($new_contents);
echo 
"<pre>"
me acuerdo que ese tipo de error salia por ejemplo cuando hacias un:
Código PHP:
$a='select * from tabla';
$a=mysql_query($a);
echo 
$a
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 13/08/2008, 05:04
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Resource id #3

Esto no es ningun error, este tipo de frases es el link hacia el archivo abierta, o la consulta mysql, o cualquier otra operación en la que se creen enlaces. PHP los crea así.
Así que por ello sabes que el fread no se ejecuta correctamente: no te lee el contenido del archivo. Aunque si ya lo has ejecutado alguna vez, puede que en tu listemail.txt se haya guardado ahora sólo un "Resource id #3", a veces pasan estas cosas con el fread, fwrite, etc si no se hacen bien. Por eso es mejor hacer copias de seguridad antes.

En todo caso, creo que tu solución puede ser en vez de poner 'r+' entre comillas simples, ponerlo con comillas dobles "r+" para que se evalúe, como muestran los ejemplos del manual de referencia del PHP.

Y por cierto, ¿porqué cierras y vuelves a abrir el mismo archivo con los mismos permisos dos veces? Creo que es mucho más apropiado en vez de cerrar escribir lo que deseas y luego ya cerrar, te ahorras recursos ;)
__________________
Un Lannister siempre cumple sus promesas
  #4 (permalink)  
Antiguo 13/08/2008, 08:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Resource id #3

demás, en el "open file to write" estas usando el mismo modo de lectura, y sobre el mismo archivo.... deberías cambiar esto, ya que el modo debe ser escritura... y probablemente, quieras hacerlo con otro nuevo archivo.... suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 06:02.