Comunidad de diseño web y desarrollo en internet online

Comprobar si archivo existe usando PHP y ActionScript

Citar            
MensajeEscrito el 24 Ago 2006 02:50 am
Voy a exponer lo mas claro posible.
Necesito Verificar la existencia de diversos archivos a traves de ActionScript, osea que el la pelicula Flash me compruebe si existen diversos archivos.

Buscando, he hallado un codigo mas que prometedor, basado en PHP i Actionscript, y a simple vista, muy senzillo.
A la practica no consigo hacerlo funcionar. :roll:
La cosa va asi:
A traves de PHP comprobamos si existe el archivo en cuestion:

Código :

<?php 
if (file_exists(@$_REQUEST['check_file'])) { 
echo "&exists=1&"; 
} else { 
echo "&dontexists=1&"; 
} 
?> 


y luego recogemos la respuesta dese Flash:

Código :

fCheckerRcv = new LoadVars();
fCheckerSnd = new LoadVars();
fCheckerSnd.check_file = "test.pdf";
fCheckerSnd.sendAndLoad("checkFile.php", fCheckerRcv);
fCheckerRcv.onLoad = function(ret:Boolean):Void {
if (ret) {
if (this.exists) {
trace("file exists");
} else {
trace("file doesn't exist");
}
} else {
trace("could not contact the server");
}
};


A simple vista es todo de lo mas senzillo, pero no logro hacerlo funcionar, y siemore me devuelve "could not contact the server". :?
No se que es lo que esta sucediendo, pero el asunto me tiene ya loco. :twisted:

Por colxi

4 de clabLevel



 

msie
Citar            
MensajeEscrito el 24 Ago 2006 07:56 am
están el SWF y el php en la misma carpeta?

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 24 Ago 2006 11:41 am
estan en la misma carpeta si

Por colxi

4 de clabLevel



 

msie
Citar            
MensajeEscrito el 24 Ago 2006 12:23 pm
y lo pruebas desde el IDE de flash o desde el servidor?

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 24 Ago 2006 01:21 pm
lo pruebo des dela IDE de Flash, desde mi servidor local, y desde el servidor externo.
Obviamente en el codigo real no tengo trace("file exists"); , sino textbox que asumen "file exsit" o"file no exist" o"no conection" , para poder comproabr la respuesta.

Por colxi

4 de clabLevel



 

msie
Citar            
MensajeEscrito el 24 Ago 2006 03:05 pm
pues es raro, ejecutando el PHP directamente si funciona?

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 24 Ago 2006 03:57 pm
si ejecuto el php me devuelve:
&dontexists=1&
vamos k dice k no existe, pk no le paso ningun archivo a comprobar.
Creo que el problema esta en mandar y recoger las variablas desde flash.
A ti te funciona?

Me tien loko!!!

Por colxi

4 de clabLevel



 

msie
Citar            
MensajeEscrito el 24 Ago 2006 04:00 pm
$_REQUEST['check_file']

pues porqué no usas $_GET o $_POST según el método de flash?

por ejemplo:
esto en flash
fCheckerSnd.sendAndLoad("checkFile.php", "GET", fCheckerRcv);

y $_GET["check_file"] en PHP

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 24 Ago 2006 04:20 pm
Ahora o obtengo tansiquiera respuesta. Ni si, ni no, ni no conection.

te pego el codigo tal como lo tengo ahora:
FLASH:

Código :

fCheckerRcv = new LoadVars();
fCheckerSnd = new LoadVars();
fCheckerSnd.check_file = "test.pdf";
fCheckerSnd.sendAndLoad("check.php", "GET", fCheckerRcv);
fCheckerRcv.onLoad = function(ret:Boolean) {
if (ret) {

if (this.exists) {uaio = "siii";}
else {uaio = "noooo";}
}
else {uaio = "noo conection";}
};


y en PHP:

Código :

<?php 
if (file_exists(@$_GET["check_file"])) { 
    echo "&exists=1&"; 
} else { 
    echo "&dontexists=1&"; 
} 
?> 


Alguna idea de lo que sucede?

Por colxi

4 de clabLevel



 

msie
Citar            
MensajeEscrito el 24 Ago 2006 05:09 pm
esto

Código :

fCheckerSnd.sendAndLoad("check.php", "GET", fCheckerRcv);

es:

Código :

fCheckerSnd.sendAndLoad("check.php",  fCheckerRcv, "GET");

y debes probarlo desde el navegador con la direccion del servidor, ejemplo: http://localhost/archivo-existe.html

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 24 Ago 2006 07:59 pm
Dios Santo, que maravilla, y que chorrada, perdon por el resvalazo.
Esta senzillez de codigo es lo mas util y rapido que he visto en mucho tiempo.
Lo adjunto corregido por si a alguien le es de ayuda.

EN FLASH:
fCheckerRcv = new LoadVars();
fCheckerSnd = new LoadVars();
fCheckerSnd.check_file = "file_you_want_to_check.php";
fCheckerSnd.sendAndLoad("check.php", fCheckerRcv, "GET");
fCheckerRcv.onLoad = function(ret:Boolean) {
if (ret) {
if (this.exists) {
trace("existe");
}
else {
trace("no existe");
}
}
else {
trace("no hay conexion");
}
};


y en erl archivo check.php:

<?php

if (file_exists($_GET["check_file"])) {
echo "&exists=1&";
} else {
echo "&dontexists=1&";
}
?>

Voila , asi de facil al final.

Y, si no lo he dicho mil gracias Maikel. ;)

Por colxi

4 de clabLevel



 

msie

 

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