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