[英]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.