Autor Tema: Demora ejecucion antes de un load.  (Leído 623 veces)

Desconectado Satyricon

  • PHPerit@
  • *
  • Mensajes: 3
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Demora ejecucion antes de un load.
« en: 22 de Febrero de 2011, 00:26:43 am »
Hola comunidad.

Creo este post ya que tras horas de no poder encontrar el error, me decidí a consultar con la gente que por ahí alguna vez tuvo un problema similar.

Estoy desarrollando una aplicación en actionscrip2 que trabaja ademas con php. La idea de la misma es que compruebe si un enlace esta funcionando o no, ejemplo: http://www.google.com.ar si funciona, http://www.glkdbfkjsdbfksjdfbskjdfsd.com No funciona.

El punto, tengo el código que funciona bien, me envía el campo nombre al php y lo procesa, luego necesito que me envíe una respuesta nuevamente al actionscript, lo hace, pero siempre me da como resultado negativo.

Para ser mas precisos, el code actionscript:


Código: [Seleccionar]
enviar = function () {
if (nombre_txt.length) {
 
form_lv = new LoadVars();
form_lv.nombre = nombre_txt.text;
 
form_lv.sendAndLoad("miphp.php", form_lv, "POST");
texto_txt.text = "Enviando Mensaje..";
nombre_txt.text = "";
 
form_lv.onLoad = function() {
 
if (this.estatus == "si") {
texto_txt.text = "On";
nombre_txt.text = "";
 
} else {
texto_txt.text = "Off";
}
}
};
}
 
enviar_btn.onRelease = enviar;



Y el code PHP:


Código: [Seleccionar]
<?
if ($_POST["nombre"])
{
$sitio = @fopen($_POST['nombre'],"r");
 
if ($sitio){
echo '&estatus=si&';
}else{
echo '&estatus=no&';
}
}
?>



El code php funciona perfecto (Nota: Probé en algunos servidores y en localhost y no funcionan, pero en otros si) es por eso que les dejo un html con php para que vean que si funciona:



Código: [Seleccionar]
<html>
<head>
<title>Verificar existencia de URL</title>
<meta name="author" content="WebExperto.com">
</head>
<body>
<form action="<?=$_PHP_SELF;?>" method="post">
<input type="text" name="nombre" value="http://">
<input type="submit" value="Verificar">
</form>
<?
if ($_POST["nombre"])
{
$sitio = @fopen($_POST['nombre'],"r");
 
 
 
if ($sitio){
echo 'Si Funciona';
}else{
 
echo 'No Funciona';
}
}
?>
 
</body>
</html>



Mi pregunta, sera que el code php se demora en procesar? El actionscript lo carga perfectamente, pero siempre como negativo, sabiendo que el code php si funciona...

Habrá alguna forma de modificar ese code actionscript para que hacer que demore unos segundos en cargar el php, cosa que me daría el valor verdadero...

Muchas gracias por su tiempo...

Comunidad PHPeros

Demora ejecucion antes de un load.
« en: 22 de Febrero de 2011, 00:26:43 am »

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:Demora ejecucion antes de un load.
« Respuesta #1 en: 22 de Febrero de 2011, 00:56:23 am »
Siempre puedes usar cUrl(), es más amigable para esto.
- Moderador de PHP


Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:Demora ejecucion antes de un load.
« Respuesta #2 en: 22 de Febrero de 2011, 01:56:27 am »
Yo te recomendaría usar fsockopen mejor, usalo igual que usas fopen.
Por la simple razón de que en fsockopen puedes especificar cuanto tiempo tiene que estar intentando contactar con esa página web, y en fopen no.

Busca información en la web oficial php.net sobre fsockopen, es muy fácil de usar y se usa parecido a como tu has estado usando fopen.

Prueba y nos cuentas,
Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Satyricon

  • PHPerit@
  • *
  • Mensajes: 3
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:Demora ejecucion antes de un load.
« Respuesta #3 en: 22 de Febrero de 2011, 03:44:36 am »
Probé con fsockopen y el code me quedo así:

Código: [Seleccionar]
<?
$nombre = $_POST['nombre'];
if ($_POST["nombre"])
{
$sitio = @fsockopen( $nombre  , 80 , $errno, $errstr, 5);



if ($sitio){
echo '&estatus=si&';
}else{

echo '&estatus=no&';
}
}
?>

El problema persiste, pero no entiendo porque.

Por cierto, probé en safari, y en 1 de los intentos, me dio como resultado verdadero, pero luego nunca mas.
A un amigo también le sucedió lo mismo, tambien en safari y una sola vez...

Que se podrá hacer?