Выводить неверные идентификаторы YouTube из базы данных, только если видео не существует - PullRequest
1 голос
/ 18 июня 2020

В моей базе данных хранятся идентификаторы видео YouTube. Я пытаюсь вывести только недействительные идентификаторы. Я использую get_headers / oembed , что позволяет мне проверять, существует ли видео на YouTube. Затем я просматриваю идентификаторы. В настоящее время это работает, но показывает все идентификаторы YouTube из моей таблицы, а затем добавляет текст «недействителен» к недействительным. Мне нужно отображать только те, которые недействительны - больше ничего!

Мне нужна помощь, если кто-нибудь не возражает. Я был бы очень признателен.

Код:

$servername = "localhost";
$username = "";
$password = "";
$dbname = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
   die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT src_id FROM youtube_videos ";
$result = $conn->query($sql);

while($row = $result->fetch_assoc()) {
    echo 'Video ID: '.$row["src"];
    $headers = get_headers('http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v='.$row["src_id"].'');
    if (!strpos($headers[0], '200')) {
        echo " is invalid";
    } else {
        echo "";
    }

    echo 'no results';

}

1 Ответ

1 голос
/ 18 июня 2020

Просто напечатайте идентификатор видео, если код заголовка не 200?

while ($row = $result->fetch_assoc()) {
    $headers = get_headers('http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v='.$row["src_id"].'');
    if (!strpos($headers[0], '200')) {
        echo "Video ID: ".$row['src']." is invalid\n";
    }
}

Возможно, вы также захотите найти лучший способ получения заголовков ответов, это может быть не на 100% точным для всех Сценар ios. Я бы предложил использовать что-то вроде

while ($row = $result->fetch_assoc()) {
    $headers = get_headers('http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v='.$row["src_id"].'');
    if (substr($headers[0], 9, 3) != 200) {
        echo "Video ID: ".$row['src']." is invalid\n";
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...