Xin chào mọi người hôm nay do có dự án check link seo còn tồn tại hay không nên mình thấy vấn đề này rất hay và áp dụng thực tế nhiều nên hôm nay mình đàm đạo chút về việc kiểm tra link còn tồn tại hay không .

Yêu cầu thực tế kiểm tra tầm 1000 link xem còn bao nhiêu link còn sống và bị chết .Nếu là 1 link thì kiểm tra tay ok chứ 1000 link chắc cả ngày .

Xem xét vấn đề sự khác nhau giữa link tồn tại và link không còn tồn tại

<?php
$url = "http://hoathinhhay.com/";
$headers = @get_headers($url);
var_dump($headers);

Sau đó bạn tìm sự khác biệt giữa link còn tồn tại và link không tồn tại

Link tồn tại :http://hbsprogram.com/api-get-link-facebook-bang-yii2/ ta sẽ có kết quả trả về :


array(12) { [0]=&gt; string(15) "HTTP/1.1 200 OK" [1]=&gt; string(35) "Date: Thu, 13 Oct 2016 04:11:06 GMT" [2]=&gt; string(38) "Content-Type: text/html; charset=UTF-8" [3]=&gt; string(17) "Connection: close" [4]=&gt; string(143) "Set-Cookie: __cfduid=d4f7fe55f659f118b15950ae161540cd81476331865; expires=Fri, 13-Oct-17 04:11:05 GMT; path=/; domain=.hbsprogram.com; HttpOnly" [5]=&gt; string(21) "Vary: Accept-Encoding" [6]=&gt; string(44) "X-Pingback: http://hbsprogram.com/xmlrpc.php" [7]=&gt; string(64) "Link: ; rel="https://api.w.org/"" [8]=&gt; string(51) "Link: ; rel=shortlink" [9]=&gt; string(31) "X-Content-Type-Options: nosniff" [10]=&gt; string(24) "Server: cloudflare-nginx" [11]=&gt; string(28) "CF-RAY: 2f0ff21212fe32ef-HKG" }

Còn đối với link :http://hbsprogram.com/api-get-link-facebook-bang-yii2hello kết quả sẽ là :


array(12) { [0]=; string(22) "HTTP/1.1 404 Not Found" [1]=&gt; string(35) "Date: Thu, 13 Oct 2016 04:12:21 GMT" [2]=&gt; string(38) "Content-Type: text/html; charset=UTF-8" [3]=&gt; string(17) "Connection: close" [4]=&gt; string(143) "Set-Cookie: __cfduid=d452149dae70ae0f3544273fd19496f061476331940; expires=Fri, 13-Oct-17 04:12:20 GMT; path=/; domain=.hbsprogram.com; HttpOnly" [5]=&gt; string(21) "Vary: Accept-Encoding" [6]=&gt; string(38) "Expires: Wed, 11 Jan 1984 05:00:00 GMT" [7]=&gt; string(51) "Cache-Control: no-cache, must-revalidate, max-age=0" [8]=&gt; string(64) "Link: ; rel="https://api.w.org/"" [9]=&gt; string(31) "X-Content-Type-Options: nosniff" [10]=&gt; string(24) "Server: cloudflare-nginx" [11]=&gt; string(28) "CF-RAY: 2f0ff3e70789198c-HKG" }

Ở đây ta thấy sự khác nhau đầu tiên là chỗ [0] .Ok giờ chúng ta chỉ cần dựa vào đó để xem xét thôi 🙂 .Code hoàn chính là :


<?php
$url = "http://hbsprogram.com/api-get-link-facebook-bang-yii2hello";
$headers = @get_headers($url);

if(strpos($headers[0],'404')) {
 echo "URL Not Exists";
} else {
 echo "Url không còn tồn tại"
}

Giờ đến phần api để bạn có thể kiểm tra hàng loạt 1 lúc chỉ cần gọi đến api bên mình

http://api.hbsprogram.com/check/index?url=http://hbsprogram.com/api-get-link-facebook-bang-yii2/

Kết quả trả về 1 là tồn tại ,0 là không tồn tại .Chúc các bạn thành công trong lập trình 🙂