Вставить Flash-объект в MySql с PHP

0

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

Я пытаюсь вставить встраиваемый видеокод, например 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?

UPDATE: я выяснил, как его сохранить, но теперь я пытаюсь вызвать его в 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 />";
}   ?>

UPDATE: Вот что выглядит код встраивания в БД:

<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-код прямо над ним вытаскивает эти данные без косых черт, и он отлично отображает код встраивания в виде текста, но из этого не формируется фактическое видео. Есть ли в любом случае, чтобы код отображался как код и показывал видео вместо текста?

Теги:
embed
youtube
flash

3 ответа

0
Лучший ответ

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

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

//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
    Я смог получить его с большим количеством исследований, и сохранил его как текст. Теперь, когда я вытаскиваю его из таблицы, он показывает только текст целиком, а не отображает реальное видео. Как сделать так, чтобы само видео теперь отображалось в php вместо текстового значения для него?
  • 0
    Ответ тот же, что и выше :) установите код для встраивания с переменными, загрузите переменные из Mysql и видео покажет! все еще можно сохранить все эти данные в виде строки, просто используйте JSON.
Показать ещё 1 комментарий
0
$var = embed code

echo htmlspecialchars_decode($var);
0

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню