簡體   English   中英

如何為數據庫中的每個視頻創建單獨的目錄並從URL中提取其ID?

[英]How do I create a separate directory for each video in a database and pull its ID from the URL?

例如 - 在vimeo.com上,每個視頻都有一個ID號。 要查看該視頻,您只需導航到vimeo.com/2847535或其他任何內容。

假設我有一個類似的網站,每次用戶添加視頻時,都會為其分配一個唯一的ID。 將視頻添加到數據庫后,如何創建具有該ID號的目錄?

此外,一旦視頻在數據庫中並且目錄已經創建,現在我必須在用戶訪問www.example.com/38540305時加載的php頁面上顯示正確的視頻...我的第二個問題是,如何從網址中提取視頻ID? 我知道當網址使用_GET看起來像www.example.com/video.php?38540305時該怎么做,但我不認為沒有“?”

鏈接到資源或代碼非常感謝!

您可以使用mod_rewrite將任何網址(如www.example.com/ [numbers])映射到video.php,而不是為每個視頻創建目錄。 請注意,您需要Apache作為您的Web服務器來執行此操作。

例如在.htaccess文件中(或目錄或vhost下的apache配置文件)

RewriteEngine On
#check path is not a file
RewriteCond %{REQUEST_FILENAME} !-f
#check path is not a directory
RewriteCond %{REQUEST_FILENAME} !-d
#redirect any numeric path to video.php
RewriteRule ^([0-9]+)$ video.php?id=$1 [L]

您現在可以使用$_GET[id']來獲取視頻ID。

要直接回答第一個問題,可以在插入記錄調用mysql_insert_id() (或等效mysql_insert_id() )后獲取最后插入的id。 然后你可以使用mkdir()來創建你的目錄。 除非您在每個目錄中創建了一個index.php文件,否則這仍然無效。

您將要使用mod_rewrite。 像這樣的東西:

RewriteEngine On
RewriteRule ^([\-_0-9A-Za-z]+)$  index.php?a=$1 [L]
You can customize RewriteRule as much as you want.

應該在'/'之后重寫URL,所以它轉到index.php?a = path

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM