Comunidad de diseño web y desarrollo en internet online

fopen no funciona

Citar            
MensajeEscrito el 16 Jul 2010 03:33 pm
buenas tardes,
tengo un problemilla con la función fopen de php.
resulta que quiero enviar unas variables de flash a php. El código es el siguiente: en flash uso esta función:

Código ActionScript :

writeButton.onPress = function():Void{     
   var enviar:LoadVars = new LoadVars();
   var recibir:LoadVars = new LoadVars();
   enviar.pos_foto = pos_foto;
   enviar.perfil = shapeArray;
   enviar.acabat = "acabat";   
   enviar.sendAndLoad("escrivir.php",recibir,"POST");
   recibir.onLoad = function(ok:Boolean) {
            if (ok) { trace(" --- "+this.resposta);  } 
            else { trace("Hubo un error."); }
   };
} 

y en php, el archivo escrivir.php tiene este código:

Código PHP :

$fitxer = "123.txt"; 
$open = fopen($fitxer, "w");
if($open)
{
   $datos="texto de pruevaaaa";
   $write = fwrite($open, $datos);      
   fclose($open);       
}else{
   echo "&resposta=No se puede abrir - fallo fopen";     
}


Las variables se envian correctament de flash a php y al reves. Sin embargo el mensaje que me manda php siempre és "&resposta=No se puede abrir - fallo fopen". La cosa es muy rara porque cuando llamo al fichero escrivir.php funciona perfectamente i me escrive el archivo. Todos estan en el mismo directorio.

No entiendo porque no escrive... alguien tiene alguna idea de lo que pasa?
Muchas gracias por vuestro tiempo!
Cristina

Por crisseguras

7 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 18 Jul 2010 03:54 am
Se me hace que es un problema de seguridad del modo SAFE_MODE, si simulas la variable en php si te crea el archivo?

Por MiactionScript

77 de clabLevel



 

chrome
Citar            
MensajeEscrito el 19 Jul 2010 02:19 pm
gracias por tu respuesta.
he estado mirando el estado del safe_mode en el archivo php.ini y està en Off en todas partes...
también he intentado ponerlo dentro del script mismo: ini_set('safe_mode', 0); y sigue sin funcionar...
no sé que más provar y no veo qué es lo k estoy haciendo mal... Alguien tiene alguna otra sugerencia?
Muchas gracias!!
Cristina

Por crisseguras

7 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 19 Jul 2010 02:51 pm
El archivo tiene que tener permisos de escritura, bórralo si lo creaste o subiste tu y deja que PHP lo cree automáticamente (lo crea sino existe usando w como segundo argumento), así te aseguras que no hay problemas de permisos

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Jul 2010 02:59 pm
El problema es k no me lo crea... Si ejecuto el escrivir.php desde mi navegador todo funciona correcteament y me crea el archivo pero si hago la llamada desde flash mediante la función:

Código ActionScript :

enviar.sendAndLoad("escrivir.php",recibir,"POST");

no me lo crea. La funcion fopen deja de funcionar y no hace nada.

De todos modos gracias x tu comentario.

Por crisseguras

7 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 19 Jul 2010 03:08 pm
Revisa el diccionario de PHP, verás que

$open = fopen($fitxer, "w");

Crea el archivo si no existe, es decir debes asegurarte que no exista.
Recuerda que el directorio debe tener permisos de escritura para que funcione

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Jul 2010 03:29 pm
La función

Código PHP :

fopen("fichero.txt", "w")
escrive el fichero si este existe y si no existe lo crea.
Si ejecuto el archivo directamente en el navegador funciona correctamente: si existe lo escrive, si no existe lo crea y lo escrive.
El problema es que cuando llamo a este script desde un archivo desde flash: deja de funcionar.
El directorio tiene todos los permisos y el metodo safe_mode esta a off.
Alguna otra sugerencia?
Muchas gracias,
cris

Por crisseguras

7 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 19 Jul 2010 03:35 pm
Asegurate que lo estás viendo desde un servidor y no en local, mira que la ruta al PHP sea la correcta, si sigue sin funcionar, usa un sniffer para ver que error da el PHP (o sino lo encuentra), uno util es http://www.charlesproxy.com

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Jul 2010 03:56 pm
Ahora síii!!! canviando:

Código ActionScript :

enviar.sendAndLoad("escrivir.php",recibir,"POST");

por:

Código ActionScript :

enviar.sendAndLoad("http://localhost/conteOlga/escrivir.php",recibir,"POST");

funciona perfectamente!! Uf! como he perdido el tiempo...
Muchas gracias x tu ayuda!!

Por crisseguras

7 de clabLevel



Genero:Femenino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.