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