Вставить Flash-объект в MySql с PHP - PullRequest
0 голосов
/ 03 декабря 2010

Я ломаю голову над этим.

Я пытаюсь вставить встраиваемый видеокод, такой как youtube / viddler / etc .., который начинается с тега объекта:

<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/Ahg6qcgoay4?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Ahg6qcgoay4?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>

в MySQL с PHP. Я просмотрел весь интернет, и не было ничего хорошего, чтобы это произошло. Кто-нибудь знает, как успешно вставить этот код в базу данных в качестве значения для $ video?

ОБНОВЛЕНИЕ: Я выяснил, как сохранить его, но сейчас я пытаюсь вызвать его в php, но вернуть только текстовое значение, в основном весь код вставки в виде текста отображается вместо самого видео. Вот мой код дисплея, который показывает текст. Как сделать так, чтобы вместо этого показывалось реальное видео?

<?php
    //assuming a connection to the database exists
$sql = "SELECT * FROM table";
$result = mysql_query( $sql );
while( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) ) {
    $html = array();  //create an array of html formated values.
    $html['video'] = nl2br( stripslashes( htmlentities( $row['video'], ENT_QUOTES, 'UTF-8' ) ) );
    echo "Video:<br />{$html['video']}<hr />";
}   ?>

ОБНОВЛЕНИЕ: Вот так выглядит код встраивания в БД:

<object width=\"450\" height=\"380\"><param name=\"movie\" value=\"http://www.youtube.com/v/Z5j3CORfxmw&hl=en_US&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/Z5j3CORfxmw&hl=en_US&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"450\" height=\"380\"></embed></object>

Код php прямо над ним извлекает эти данные без косых черт, и он отображает код для встраивания идеально в виде текста, но фактическое видео из этого не формируется. В любом случае, чтобы отображаемый код действовал как код и показывал видео вместо текста?

Ответы [ 3 ]

0 голосов
/ 03 декабря 2010

Зачем вам это нужно, почему бы просто не сохранить значения различных параметров и воссоздать код встраивания в вашем PHP-скрипте?

Это было бы более гибким и перспективным.Давайте представим, например, что формат встраиваемого кода будет изменен в следующем году, вам придется полностью изменить записи базы данных, а не обновлять один скрипт.

//Assuming that you have saved a JSON string in Mysql
$video = json_decode($video_data);

<object width="<? = $video->width;>" height="<? = $video->height;>">
   <param name="movie"    
          value="<? = $video->url;>"></param>
   <param name="allowFullScreen" 
          value="true"></param>
   <param name="allowscriptaccess" 
          value="always"></param>
   <embed src="<? = $video->url;>" 
          type="application/x-shockwave-flash" 
          allowscriptaccess="always" 
          allowfullscreen="true" 
          width="<? = $video->width;>" height="<? = $video->height;>"></embed>
 </object>
0 голосов
/ 21 декабря 2010
$var = embed code

echo htmlspecialchars_decode($var);
0 голосов
/ 03 декабря 2010

Вставка этой строки в базу данных не должна отличаться от вставки любой другой строки.Просто используйте подготовленные операторы или избегайте строки правильно.Однако при встраивании этой строки на страницу не следует избегать ее, поскольку она содержит необработанный HTML-код.

В этом случае, хотя и кажется, что можно просто сохранить идентификатор видео Ahg6qcgoay4, поскольку сам код встраивания должен быть таким женезависимо от видео.

...