Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/07/2010, 13:40
Chemix
 
Fecha de Ingreso: mayo-2003
Mensajes: 92
Antigüedad: 23 años, 5 meses
Puntos: 0
Problema con fopen al parsear XML

Buenas,

Al parsear un xml hago una validacion de campo no vacio y de url accesible:

Código PHP:
function VerificarUrl($url){
$id = @fopen($url,"r"); if ($id != false && (strpos($http_response_header[0], '404') === false)) $open = true; else $open = false; return $open; fclose($id);
}


if (isset(
$row["FOTO"])) {

$open = VerificarUrl($row["FOTO"]);

if (
$open) {

$img = $row["FOTO"];

$g = basename($img);

$dotpos = strrpos($g, ".");
        
if (
$dotpos) $ext = strtolower(substr($g, $dotpos)); else $ext = "";
        
$nombrenuevo = uniqid("") . substr(md5($g), 5, 12) . $ext;

$data = file_get_contents($img); 
$file = @fopen($destino. "$nombrenuevo", "w+"); 
fputs($file, $data); 
fclose($file);

$sql = "INSERT INTO xxxxxxxx
        SET xxxx = $xxxx,
        picfile = '$nombrenuevo'"
;
mysql_query($sql);

} 
// Final si fopen ha abierto

else { return; } // Final si fopen NO ha abierto

} // Final de comprobar si si viene foto 

El caso es que si la url remota de la foto es 404 o tarda en responder se para o se cualga el script, necesito saltar este registro si no se dan las condiciones

Como veis en la validacion si viene false, segun el manual fopen devuelve puntero o false, deberia hacer un return y saltar a otro registro, pues no me lo hace, aun asi le doy otra condicion por si viene 404 y tampoco me la hace

No entiendo na, si alguien me encarrila

Saludos