verificar si la url existe en php [duplicate]

2 minutos de lectura

avatar de usuario de anónimo
anónimo

if (!(file_exists(http://example.com/images/thumbnail_1286954822.jpg))) {   
$filefound = '0';                         
}

¿Por qué no funcionará esto?

  • stackoverflow.com/questions/981954/…

    – Arca

    23 de noviembre de 2010 a las 6:58

Avatar de usuario de Haim Evgi
Haim Evgui

if (!file_exists('http://example.com/images/thumbnail_1286954822.jpg')) {   
$filefound = '0';
}

  • if (!file_exists($base_url.’images/thumbnail_1286954822.jpg’)) { $filefound = ‘0’; } es así, en realidad lo siento.

    – anónimo

    23 de noviembre de 2010 a las 6:59


  • @anónimo en realidad no es así lo siento, no pediste $base_url + images/thumbnail_1286954822.jpg pediste http:// mysite com/images/thumbnail_1286954822.jpg

    – Robert Libra

    22 de abril de 2015 a las 8:16

  1. La función espera una cadena.

  2. file_exists() no funciona correctamente con URL HTTP.

  • ¿Tienes alguna solución para eso?

    – Joyner

    12 de febrero de 2019 a las 13:01

Avatar de usuario de IRSHAD
IRSHAD

El archivo existe comprueba si existe un archivo en la ruta especificada o no.

Sintaxis:

file_exists ( string $filename )

Devoluciones TRUE si existe el archivo o directorio especificado por filename; FALSE de lo contrario.

$filename = BASE_DIR."images/a/test.jpg";
if (file_exists($filename)){
    echo "File exist.";
}else{
    echo "File does not exist.";
}

Otro método alternativo que puede usar getimagesize(), devolverá 0 (cero) si el archivo/directorio no está disponible en la ruta especificada.

if (@getimagesize($filename)) {...}

También puedes usar PHP get_headers() función.

Ejemplo:

function check_file_exists_here($url){
   $result=get_headers($url);
   return stripos($result[0],"200 OK")?true:false; //check if $result[0] has 200 OK
}

if(check_file_exists_here("http://www.mywebsite.com/file.pdf"))
   echo "This file exists";
else
   echo "This file does not exist";

Según su comentario a Haim, ¿es este un archivo en su propio servidor? Si es así, debe usar la ruta del sistema de archivos, no la URL (por ejemplo, file_exists( '/path/to/images/thumbnail.jpg' )).

Avatar de usuario de Nashir
Nashir

para mí también la función file_exists() no funciona correctamente. Entonces obtuve esta solución alternativa. Espero que este ayude a alguien.

$path="http://localhost/admin/public/upload/video_thumbnail/thumbnail_1564385519_0.png";

    if (@GetImageSize($path)) {
        echo 'File exits';
    } else {
        echo "File doesn't exits";
    }

avatar de usuario de ahmad saad
ahmad saad

Verifique el código a continuación

if ($user->image) {
        $filename = "images/" . $user->image;
        if (file_exists($filename)) {
            echo '<br />';
            echo "File exist.";
        } else {
            echo '<br />';
            echo "File does not exist.";
        }
    }

¿Ha sido útil esta solución?