Hướng dẫn php check if file exists url - php kiểm tra xem tệp có tồn tại url không

61

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi cần kiểm tra xem một tệp cụ thể có tồn tại trên một máy chủ từ xa không. Sử dụng is_file()file_exists() không hoạt động. Bất kỳ ý tưởng làm thế nào để làm điều này một cách nhanh chóng và dễ dàng?

Hướng dẫn php check if file exists url - php kiểm tra xem tệp có tồn tại url không

Ruben

4.9332 Huy hiệu vàng24 Huy hiệu bạc45 Huy hiệu Đồng2 gold badges24 silver badges45 bronze badges

Đã hỏi ngày 7 tháng 10 năm 2011 lúc 8:32Oct 7, 2011 at 8:32

1

Bạn không cần Curl cho điều đó ... quá nhiều chi phí vì chỉ muốn kiểm tra xem một tệp có tồn tại hay không ...

Sử dụng get_header của PHP.

$headers=get_headers($url);

Sau đó kiểm tra xem $ results [0] có chứa 200 OK không (có nghĩa là tệp có ở đó không)

Một chức năng để kiểm tra xem một URL có hoạt động có thể là thế này không:

function UR_exists($url){
   $headers=get_headers($url);
   return stripos($headers[0],"200 OK")?true:false;
}

/* You can test a URL like this (sample) */
if(UR_exists("http://www.amazingjokes.com/"))
   echo "This page exists";
else
   echo "This page does not exist";

Đã trả lời ngày 18 tháng 4 năm 2015 lúc 8:36Apr 18, 2015 at 8:36

Patrickpatrickpatrick

11.3k7 Huy hiệu vàng66 Huy hiệu bạc79 Huy hiệu đồng7 gold badges66 silver badges79 bronze badges

5

Bạn phải sử dụng Curl

function does_url_exists($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_exec($ch);
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    if ($code == 200) {
        $status = true;
    } else {
        $status = false;
    }
    curl_close($ch);
    return $status;
}

Hướng dẫn php check if file exists url - php kiểm tra xem tệp có tồn tại url không

Dharman ♦

28.2K21 Huy hiệu vàng75 Huy hiệu bạc128 Huy hiệu đồng21 gold badges75 silver badges128 bronze badges

Đã trả lời ngày 7 tháng 10 năm 2011 lúc 8:41Oct 7, 2011 at 8:41

Hướng dẫn php check if file exists url - php kiểm tra xem tệp có tồn tại url không

AmilaamilaAmila

1.4231 Huy hiệu vàng11 Huy hiệu bạc17 Huy hiệu đồng1 gold badge11 silver badges17 bronze badges

4

Xin chào Theo thử nghiệm của chúng tôi giữa 2 máy chủ khác nhau, kết quả như sau:

Sử dụng Curl để kiểm tra các tệp 10 .png (mỗi tệp khoảng 5 MB) trung bình là 5,7 giây. Sử dụng kiểm tra tiêu đề cho điều tương tự mất trung bình 7,8 giây!

Vì vậy, trong bài kiểm tra của chúng tôi đã nhanh hơn nhiều nếu bạn phải kiểm tra các tệp lớn hơn!

Hàm Curl của chúng tôi là:

function remote_file_exists($url){
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    if( $httpCode == 200 ){return true;}
    return false;
}

Đây là mẫu kiểm tra tiêu đề của chúng tôi:

function UR_exists($url){
   $headers=get_headers($url);
   return stripos($headers[0],"200 OK")?true:false;
}

Đã trả lời ngày 29 tháng 8 năm 2016 lúc 14:31Aug 29, 2016 at 14:31

0

Bạn có thể sử dụng hàm file_get_contents ();

if(file_get_contents('https://example.com/example.txt')) {
    //File exists
}

Đã trả lời ngày 17 tháng 10 năm 2018 lúc 13:38Oct 17, 2018 at 13:38

Hướng dẫn php check if file exists url - php kiểm tra xem tệp có tồn tại url không

TomtomTom

1221 Huy hiệu bạc7 Huy hiệu đồng1 silver badge7 bronze badges

3

Thực hiện yêu cầu với Curl và xem nếu nó trả về mã trạng thái 404. Thực hiện yêu cầu bằng phương pháp yêu cầu đầu để nó chỉ trả về các tiêu đề mà không có cơ thể.

Đã trả lời ngày 7 tháng 10 năm 2011 lúc 8:34Oct 7, 2011 at 8:34

Fivingigitfivingigitfivedigit

18.1k6 Huy hiệu vàng53 Huy hiệu bạc58 Huy hiệu Đồng6 gold badges53 silver badges58 bronze badges

$file = 'https://picsum.photos/200/300';
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
    $exists = false;
}
else {
    $exists = true;
} 

Đã trả lời ngày 14 tháng 5 năm 2021 lúc 11:25May 14, 2021 at 11:25

Optimaz IdOptimaz IDOptimaz ID

7778 Huy hiệu bạc11 Huy hiệu đồng8 silver badges11 bronze badges

    $headers = get_headers((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://" . $_SERVER[HTTP_HOST] . '/uploads/' . $MAIN['id'] . '.pdf');
    $fileExist = (stripos($headers[0], "200 OK") ? true : false);
    if ($fileExist) {
    ?>
    скачать 
    

Hướng dẫn php check if file exists url - php kiểm tra xem tệp có tồn tại url không

Adriaan

17.6K7 Huy hiệu vàng37 Huy hiệu bạc72 Huy hiệu đồng7 gold badges37 silver badges72 bronze badges

Đã trả lời ngày 26 tháng 5 năm 2020 lúc 8:07May 26, 2020 at 8:07

Hướng dẫn php check if file exists url - php kiểm tra xem tệp có tồn tại url không

1

Làm thế nào để bạn kiểm tra xem một tệp có tồn tại từ URL trong PHP không?

Để tìm sự tồn tại của các tệp, chúng tôi sử dụng hàm file_exists (). Hàm này được sử dụng để kiểm tra xem một tệp hoặc thư mục có tồn tại hay không.file_exists() function. This function is used to check whether a file or directory exists or not.

Làm thế nào để kiểm tra nếu tệp tồn tại trong URL?

get_headers () sẽ trả về một mảng với các tiêu đề từ yêu cầu HTTP.Chỉ mục đầu tiên có mã phản hồi HTTP, mã HTTP 200 có nghĩa là yêu cầu là thành công (tệp tồn tại).Bạn sẽ nhận được mã 404 nếu không có gì tồn tại cho yêu cầu.Nếu tìm thấy 200 OK OK thì đúng thì đúng sẽ được trả về Sai thì sẽ được trả lại.. The first index has the HTTP response code, HTTP code 200 means the request was a success (file exists). You will get a 404 code if nothing exists for the request. If the “200 OK” is found then true is returned else false is returned.

Làm thế nào để bạn kiểm tra xem một tệp đã tồn tại trong PHP?

File_exists kiểm tra xem một tệp có tồn tại trong đường dẫn được chỉ định hay không.Trả về true nếu tệp hoặc thư mục được chỉ định bởi tên tệp tồn tại;Sai nếu không.Một phương thức thay thế khác mà bạn có thể sử dụng getImagesize (), nó sẽ trả về 0 (không) nếu tệp/thư mục không có sẵn trong đường dẫn được chỉ định.. Returns TRUE if the file or directory specified by filename exists; FALSE otherwise. Another alternative method you can use getimagesize(), it will return 0(zero) if file/directory is not available in the specified path.

Chức năng IS_FILE trong PHP là gì?

Hàm is_file () trong PHP là hàm sẵn được sử dụng để kiểm tra xem tệp được chỉ định có phải là tệp thông thường hay không.Tên của tệp được gửi dưới dạng tham số cho hàm is_file () và nó trả về true nếu tệp là một tệp thông thường khác, nó trả về sai.an inbuilt function which is used to check whether the specified file is a regular file or not. The name of the file is sent as a parameter to the is_file() function and it returns True if the file is a regular file else it returns False.