Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将链接显示为md5而不是普通链接_Php_Mysql - Fatal编程技术网

Php 如何将链接显示为md5而不是普通链接

Php 如何将链接显示为md5而不是普通链接,php,mysql,Php,Mysql,我的数据库中有一堆链接,我使用$row['url']来显示它们,但我想做的不是显示url,而是让它显示类似的内容 我拥有数据库中每个可用链接的md5,并且可以使用$row['md5']显示md5,但是如何使URL显示为我上面发布的内容,并且在单击时仍然指向正确的链接?有人能帮我吗?如果MD5值是唯一的,那么您可以创建一个页面,让MD5返回相应的页面。您是否使用任何PHP框架 您想创建一个新的列(或表,无论您喜欢什么),用于存储给定URL的md5sum。您将在输入url数据的同时输入此md5sum

我的数据库中有一堆链接,我使用$row['url']来显示它们,但我想做的不是显示url,而是让它显示类似的内容
我拥有数据库中每个可用链接的md5,并且可以使用$row['md5']显示md5,但是如何使URL显示为我上面发布的内容,并且在单击时仍然指向正确的链接?有人能帮我吗?

如果MD5值是唯一的,那么您可以创建一个页面,让MD5返回相应的页面。您是否使用任何PHP框架

您想创建一个新的列(或表,无论您喜欢什么),用于存储给定URL的md5sum。您将在输入url数据的同时输入此md5sum

然后在.htacess文件中有一个
重写规则([a-z0-9]+)lookup.php?md5=$1

然后在lookup.php中,您将创建一个使用传入md5sum的查询。类似于
从某个表中选择url,其中md5='$escapedMD5'限制1
。只需确保使用数据库相应的转义函数(mysql\u real\u escape\u string等)转义传递到url上的md5sum

从结果返回url后,在lookup.php中会有最后一行代码,其中包含
标题('Location:'。$urlFromDB)


至少这是一般的想法,希望您可以从这里开始。

您可以预计算每个链接的MD5并将其存储在数据库中。当您收到url请求时,对预计算的哈希进行查找并重定向它们。

您可以使用apache mod rewrite规则来实现映射

我建议使用这样的规则

要捕获上述链接,可以使用此重写规则

重写规则^/link/(.*).php/link.php?linkHash=$1

我没有检查上述规则,但给你一个想法


请参阅apache mod_重写文档

你可以输出
…@Kerrek SB:我认为OP正在尝试这样做,因此导航到上面的超链接将起作用。是的,值是唯一的。那么您是说让链接打开一个页面,然后查询特定唯一md5的链接地址?我现在正在使用php查询sql。这可能应该是一条评论。很好,我肯定可以使用它,谢谢。一旦它允许我,我会接受它作为我的答案。