הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה-איך בודקים אם הסירטון קיים (https://hosts.co.il/forums/showthread.php?t=69127)

dabi 04-11-08 11:38

עזרה-איך בודקים אם הסירטון קיים
 
אני רוצה בPHP לדעת אם
http://www.youtube.com/watch?v=DbEuG1sw30Y
אם הסירטון הזה קיים
לדוגמא אם אני יכניס לו את הביטוי
http://www.youtube.com/watch?v=DbEuG1sw30Y333
(לא קיים כזה קישור) שיחזיר לי FALSE או משהו
שימו לב שאם אני ניכנס ל
http://www.youtube.com/watch?v=DbEuG1sw30Y333
זה מופנה לדף אחר

תודה רבה

vadimg88 04-11-08 12:17

אפשר לעשות את זה:

PHP קוד:


<?php

// URL of video
$url 'http://www.youtube.com/watch?v=uhGI7eKoqAg&feature=dir';

// Get page
$page file_get_contents($url);


// Check if can embed
$embed_disallowed preg_match('/Embedding disabled by request/'$page);
if (
$embed_disallowed)
{
    echo 
"<h1>Cannot embed this you tube video.</h1>";
    die();
}

?>


Shon12 04-11-08 12:17

רעיון נחמד- המשתמש הכניס את הקישור הבא: http://www.youtube.com/watch?v=DbEuG1sw30Y333,
לוקח את הקוד מקור של הדף(file_get_contents), במידה והוא מכיל: "The URL contained a malformed video ID",
במידה והוא מכיל את הטקסט הזה, אתה עושה DIE אוו משנה משתנה לFALSE...
בהצלחה

dabi 04-11-08 12:23

אחי עשיתי ככה

PHP קוד:

<?php

// URL of video
$url 'http://www.youtube.com/watch?v=DbEuG1sw30Y333';

// Get page
$page file_get_contents($url);


// Check if can embed
$embed_disallowed preg_match('/Embedding disabled by request/'$page);
if (
$embed_disallowed)
{
    echo 
"<h1>Cannot embed this you tube video.</h1>";
    die();
}

?>

וזה שגיאה

Warning: file_get_contents(http://www.youtube.com/watch?v=DbEuG1sw30Y333) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request

Shon12 04-11-08 12:45

עושה את העבודה קלה יותר :).
קוד:
PHP קוד:

<?php
    error_reporting
(0);
    if (!
file_get_contents("http://www.youtube.com/watch?v=_rBbFBSyZf0s"))
    {
    Die(
"Video Error!");
    }
    else {
    echo 
file_get_contents("http://www.youtube.com/watch?v=_rBbFBSyZf0s");
    }
?>


dabi 04-11-08 12:52

מה זה
error_reporting(0);
האם חובה לרשום אותו
והאם זה יעבוד 100 אחוז ?
כי בדקתי על פליקס לדוגמא
PHP קוד:


<?php
error_reporting
(0);
$site='http://www.flix.co.il/tapuz/egopoker/showVideo.asp?m=2dd19dd803';
    if (!
file_get_contents($site))
    {
    Die(
"לא טוב");
    }
    else {
    echo 
"בסדר";
    }
?>

וזה רשם בסדר למרות שהלינק לא תקין

Shon12 04-11-08 12:53

error_reprting - על מנת שלא יציג את:
קוד:

Warning: file_get_contents(http://www.youtube.com/watch?v=DbEuG1sw30Y333) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
לא חובה, זו החלטה שלך אם אתה רוצה שזה יוצג או לא...
ולפי בדיקה שלי זה עבד כמו שצריך, אתה מוזמן לנסות.

dabi 04-11-08 12:54

ערכתי את ההודעה תראה בבקשה

Shon12 04-11-08 13:57

ציטוט:

נכתב במקור על ידי dabi (פרסם 679347)
ערכתי את ההודעה תראה בבקשה

סתם לידע כללי שיהיה לך, אני מציע לך לבדוק איך כל אתר ל-video עובד, וכך לבנות מנגנון.
לא הכל צריכים לעשות בשבילך.

ל-FLIX:
PHP קוד:

<?php
$page_video 
"http://www.flix.co.il/tapuz/egopoker/showVideo.asp?m=29170067";
$page file_get_contents($page_video);
if (
strpos($page,$page_video)) {
echo 
$page;
}
else {
Die(
"Video Error!");
}
?>


dabi 04-11-08 14:25

אשמח אם תסביר לי למה ביוטוב זה אחרת ובפליקס זה אחרת
תודה


כל הזמנים הם GMT +2. הזמן כעת הוא 17:20.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ