Foros del Web » Programando para Internet » PHP »

Problema con fsockopen

Estas en el tema de Problema con fsockopen en el foro de PHP en Foros del Web. Buenas , tengo una función con fsockopen que la he creado yo , necesito rescatar los valores de la base de datos y luego hacer ...
  #1 (permalink)  
Antiguo 26/09/2007, 18:00
 
Fecha de Ingreso: mayo-2006
Ubicación: Viña del Mar , Chile
Mensajes: 103
Antigüedad: 17 años, 11 meses
Puntos: 0
Problema con fsockopen

Buenas , tengo una función con fsockopen que la he creado yo , necesito rescatar los valores de la base de datos y luego hacer un fsockopen , éste es el codigo:

Código PHP:
function testport()
{

$url $row_record['url'];
$port $row_record['port'];


$servidor_checkport fsockopen$url  $port  $errno$errstr1);
if (!
$servidor_checkport
{

$servertest'<b><font color="#FF0000">Offline</font></b>';
echo 
$errno $errstr;
    
}

 else
 {
    
$servertest'<b><font color="#339966">Online</font></b>';

}

return 
$servertest;

}

$testingport testport();

echo 
$testingport
Pero el problema es aquí:

$servidor_checkport = fsockopen( $url , $port , $errno, $errstr, 1);

Si pongo así $url no me funciona y me da error:

Warning: fsockopen() [function.fsockopen]: unable to connect to :32698 (Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder. )

Y si pongo así :

$servidor_checkport = fsockopen( '$url' , $port , $errno, $errstr, 1);

La $url en comillas , no me toma la variable osea me lo toma como texto plano , no interpreta la variable , osea el fsockopen debería ser así al principio con comillas en el url , pero yo necesito que me interprete la variable , aver si alguien tiene una idea.

Saludos.
  #2 (permalink)  
Antiguo 26/09/2007, 18:05
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Problema con fsockopen

Pero $row_record de donde sale?
No está definida en ningún lado, por eso te aparece vacía...
  #3 (permalink)  
Antiguo 26/09/2007, 18:12
 
Fecha de Ingreso: mayo-2006
Ubicación: Viña del Mar , Chile
Mensajes: 103
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: Problema con fsockopen

$consult = "SELECT * FROM usuario";
$toprecord = mysql_query($consult ) or die(mysql_error());
$row_record = mysql_fetch_array($toprecord);

Está mas arriba , esa es la consulta , si el fsockopen no me toma la variable si la pongo en '' , y si la pongo sin comillas asi $url no funciona , porque me devuelve una url asi por ejemplo : www.web.com , y eso no tiene comilllas y el php me da un error por los puntos :S


Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Host desconocido.
Warning: fsockopen() [function.fsockopen]: unable to connect to wwwwebcom:32698 (Unknown error)

Ves no me toma los puntos.
  #4 (permalink)  
Antiguo 26/09/2007, 18:15
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Problema con fsockopen

Pero dentro de la función testport no llegan las variables externas, dentro de la función las variables son cerradas a la función. Lo que deberías hacer es lo siguiente

Código PHP:
function testport($url$port)
{

$servidor_checkport fsockopen$url  $port  $errno$errstr1);
if (!
$servidor_checkport
{

$servertest'<b><font color="#FF0000">Offline</font></b>';
echo 
$errno $errstr;
    
}

 else
 {
    
$servertest'<b><font color="#339966">Online</font></b>';

}

return 
$servertest;

}

$testingport testport($row_record['url'],$row_record['port']);

echo 
$testingport
  #5 (permalink)  
Antiguo 26/09/2007, 18:23
 
Fecha de Ingreso: mayo-2006
Ubicación: Viña del Mar , Chile
Mensajes: 103
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: Problema con fsockopen

o... eres un master ya me funciona , lo estaba haciendo mal , con ese código me funciona a la perfección , gracias por segunda vez en el dia xD de verdad.

Saludos.
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 03:27.