Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有更快的方法来发现存储的断开链接?_Php_Html_For Loop - Fatal编程技术网

Php 有没有更快的方法来发现存储的断开链接?

Php 有没有更快的方法来发现存储的断开链接?,php,html,for-loop,Php,Html,For Loop,我的数据库中有很多链接,很多都断了。 现在我使用这个循环来获取断开的链接: $r = 0; for($i=1;$i<10000;$i++){ $sqlt1 = mysqli_query($conn, "SELECT * FROM links WHERE id = '".$i."'"); while ($film = mysqli_fetch_array($sqlt1)) { $id = $film['id']; $link = $film['

我的数据库中有很多链接,很多都断了。 现在我使用这个循环来获取断开的链接:

$r = 0;
for($i=1;$i<10000;$i++){
$sqlt1 = mysqli_query($conn, "SELECT * FROM links WHERE id = '".$i."'");
    while ($film = mysqli_fetch_array($sqlt1))
    {
        $id = $film['id'];
        $link = $film['filmlink'];
        $title = $film['filmtitle'];
        $source = $film['source'];
    }

$string = file_get_contents($link);
$array = array('not found', 'deleted', 'Has Been Removed', '%not be loaded%', '%create video code', 'Conversion stage:');

if($id == "")
{}
else{
if($string == "")
{
    $result = "bad";
    echo $id." <a href='$link' target='_balnk'>".$title."</a> ".$source." link ".$result."<br>";
    mysqli_query($conn, "DELETE FROM links WHERE id = '".$id."'");
    $r++;
}
elseif (strposa($string, $array, 1)) {
    $result = "bad";
    echo $id." <a href='$link' target='_balnk'>".$title."</a> ".$source." link ".$result."<br>";
    mysqli_query($conn, "DELETE FROM links WHERE id = '".$id."'");
    $r++;
}
else{
    $result = "good";
}
}
}
echo "All bad links: ".$r;
$r=0;

对于($i=1;$i来说,最好是使用node.js等进行异步检查 您必须编写与PHP中类似的检查,但采用异步方式—您可以将node.js直接连接到数据库

或者,您可以通过例如PUT方法将每个链接状态发送到PHP服务器,但您将 必须为page.com/link/{id}设置API端点并对其进行处理