Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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 在url中使用printrand?_Php - Fatal编程技术网

Php 在url中使用printrand?

Php 在url中使用printrand?,php,Php,是否有任何方法可以使用printrand或类似的东西从php脚本或html页面中的url调用内部生成随机数?基本上,我有一个url,但在每次加载时,我需要页面调用urldotcom/blahblah,每次s都是随机的。。。。如何实现这一点?当URI URL请求页面时,服务器端语言不能通过重定向以外的任何方式更改URI。您可以,然后将请求重定向到http://mydomain.com 到http://mydomain.com/RANDOM 代码如下: $random = mt_rand(); he

是否有任何方法可以使用printrand或类似的东西从php脚本或html页面中的url调用内部生成随机数?基本上,我有一个url,但在每次加载时,我需要页面调用urldotcom/blahblah,每次s都是随机的。。。。如何实现这一点?

当URI URL请求页面时,服务器端语言不能通过重定向以外的任何方式更改URI。您可以,然后将请求重定向到http://mydomain.com 到http://mydomain.com/RANDOM 代码如下:

$random = mt_rand();
header('location:http://mydomain.com/'.$random);
但是,请注意,任何随机数生成方案都不是真正的100%随机,也不能保证相同用户或不同用户的随机值是唯一的。有一种可能性,而不是一个小的随机数将被复制


除了利用重定向,在发送请求后,无法在服务器端更改请求URL。也就是说,您还可以在页面加载后使用javascript推送浏览器历史状态。请参阅,但请注意这是一项新功能;它尚未在所有用户代理上实现,也不会在旧用户代理Internet Explorer<8中实现,并且仍处于草稿状态,API可能会更改。

您可以在PHP中附加带句点的字符串。您可以使用PHP的randmin,max函数。大概是这样的:

$url = "http://www.url.com/" . rand(1, 10);
此外,您可能只需要整数,因此请使用ceil或round:

$url = "http://www.url.com/" . ceil(rand(1, 10));

我们可以看到代码中需要用到的相关部分吗?为什么同时标记了PHP和Perl?rand1,10将始终返回一个整数,因此ceil是不必要的。此外,您应该放弃rand而改用mt_rand。是否有任何方法将其添加到url中,例如:urldotcom/blahblahblahAgreed,在只能是整数的数字上使用ceil是不必要的,并且始终不鼓励使用功能较弱的rand。此外,这个答案似乎没有解决这个问题。虽然这肯定不是一个措辞非常明确的问题,但我认为这不是一个合理的解释,因为这个问题是关于连接字符串的方法的-1.