Здраствуйте, подскажите пожалуста что я делаю не так. Имеется таблица из 3 полей id, parrent_id и path. В поле path прописывается путь до видео файла, хочу чтобы в видео-плеер передавался только айдишник видеозаписи. Написал код, передаю ссылку с айдишнеком в видео-плеер, а он не хочет вопросизводиться, при этом если просто указать ему путь до файла то воспроизведение идет. Таблица набида до нельзя 25 записей с разными parrent_id. Поле parrent_id предназначено для того, чтобы по ссылке передавать данные в гет переменную, в данном случае эта переменная iden в ссылке index.php?page=comment&iden=. Вот код: Код (Text): function menus($page) { $sql="SELECT * FROM mbase WHERE parrent_id=".$_GET["iden"]; if (!$sql) mysql_error(); $results=mysql_query($sql); if (mysql_num_rows($results)>0) { while ($rowid=mysql_fetch_assoc($results)){ $ident=$rowid['iden']; $path=$rowid['path']; $rashir=array(".avi",".mkv",".mp3",".ogm",".mpeg",".m2p"); $name=basename($path); //убираем расширения из названия файла $stroka = str_replace($rashir,"",$name); print("<a class='menu' href=\"index.php?page=comment&iden=".$_GET["iden"]."&player=$ident\" title=\"$stroka\">$stroka</a>"); } } else echo "Записи отсутствуют"; } Вот так передаю данные в WMPlayer: Код (Text): if (isset($_GET["player"])) { fplayer($_GET["player"]); } Вот функция fplayer: Код (Text): function fplayer($str) { ?> <div align="center"> <OBJECT ID="Player1" border="1" width="520" height="293" src="SOME URL.avi" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" standby="Loading Microsoft Windows Media Player components..."> <PARAM NAME="URL" VALUE="[b]index.php?page=comment&iden=<?echo $_GET["iden"];?>&player=<?echo $str;?>[/b]"> <PARAM NAME="width" VALUE="320"> <PARAM NAME="height" VALUE="63"> <PARAM NAME="stretchToFit" VALUE="1"> <PARAM NAME="ShowControls" VALUE="1"> <PARAM NAME="ShowTracker" VALUE="1"> <PARAM NAME="ShowStatusBar" VALUE="1"> <!--PARAM NAME="CurrentPosition" VALUE="1900"> <с какой секунды начинать воспроизведение--> <PARAM NAME="AutoStart" Value="0"><!--ждать нажатие на play --> <EMBED id="Player1" name="Player1" src=[b]"index.php?page=comment&iden=<?echo $_GET["iden"];?>&player=<?echo $str;?>" [/b] type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/" ShowControls="1" ShowTracker="1" ShowStatusBar="1" VideoBorder3D="1" VideoBorderWidth="0" width="320" height="63" AutoStart="0" AnimationAtStart="1" TransparentAtStart="1" uiMode="none" StretchToFit="1"></embed> </OBJECT> </div> <?}
в функции fplayer принимаешь айдишник и по нему из базы тащишь путь. описание у тебя дерьмовое, нихрена не понятно. потому никто и не отвечает
А как тащить путь? запросом типа Код (Text): $sql = "SELECT path FROM mbase WHERE id=".$_GET["player"]; mysql_query($sql);
$sql = "SELECT path FROM mbase WHERE id=".$_GET["player"]; $query = mysql_query($sql); $query = mysql_fetch_row($query); $path = $query[0]; затем в шаблон вставляешь <PARAM NAME="URL" VALUE="index.php?page=comment&iden=<?echo $_GET["iden"];?>&player=<?echo $path;?>"> что-то вроде такого, но было бы лучше добавить проверки от ошибок и прочее. советую прочесть хотя бы 2-3 страницы о взаимодействии php и MySQL.
Нет вы меня не правильно поняли. Я хочу, чтобы переменная $path была айдишнеком, а не полным путем до видео файла. А, то указание полного пути до видео файла это как-то не защищенно.
Сталкивался с таким подходом - для медиа файлов в базе данных создана таблица, в полях которой хранится полный путь к файлу и его секретное имя, типа jdjsdhjfsdn При анализе GET-запроса идет запрос к базе данных, и по секретному имени выбирается полный путь. Скажи пожалуйста, зачем это тебе нужно, от чего хочешь защититься?
Пишу свой медиа-сайт, и как любой нормальный программист защищаю свои данные от чужих ручек. Подскажи как сделать плиз уже 2 неделю воюю((
алгоритм я написал. А можно подробнее, что это значит? Чтобы никто не смог эти данные с сервера скачать?
Тогда делай по той схеме - секретное имя, в базе хранишь соответствие секретного имени и полного пути. А файлы хранишь вне каталога веб-сервера. Если они у тебя в каталоге сервера - все эти манипуляции лишены малейшего смысла.
Алгоритм хеша файла я написал свой, чтобы ни кто не мог распознать его с помощью своих ПО. Хотя можно было и не писать а воспользоваться всего лишь функцией md5 и crypt что-то вроде такого md5(md5(crypt($path))); Но это не интересно.)
ну тогда в чем проблема? Можно например через .htaccess разрулить Код (Text): RewriteRule ^video\/(.*)$ attachment.php?filename = $1 А файл attachment.php по полученному параметру выбирает из базы путь и отдает его.
Путь у меня такой к примеру: F:/Video/vb/1.avi или такой G:/Serials/V/series 1.avi Пути для файлов всегда разные Если через .htaccess делать, то придется большую кучу правил написать.
Передается просто хеш. А по хешу из базы данных вибирается имя, путь, описание, размеры - всё что душе угодно
ну передал яссылку в проигрыватель index.php?page=comment&iden=1&player=4fedf37282b8b952eb522a607a0d94f6 И ни чего не воспоризводит ((