本文目录一览:
- 1、PHP图片上传的唯一性怎么做?
- 2、如何使用php生成唯一ID的4种方法
- 3、thinkphp怎么生成唯一标识
- 4、php 如何获取客户端唯一标识
- 5、php 如何获取唯一身份访问者,根据每一台电脑来获得唯一的标识
PHP图片上传的唯一性怎么做?
最简单的方法就是,用二进制码对图片进行读取
$file1 = "1.jpg"; //第一个图片文件
$file2 = "2.jpg"; //第二个图片文件,实为1.jpg的拷贝
//第一个文件读取操作
$stream = fopen($file1,"r") or die("读取失败");
$bytes = fread($stream,filesize($file1));
fclose($stream);
//第二个文件的读取操作
$hd = fopen($file2,"r");
$by = fread($hd,filesize($file2));
fclose($hd);
//图片内容对比
if($bytes==$by){
echo"图片相同";
}else{
echo"图片不相同";
}
如何使用php生成唯一ID的4种方法
方法1
?php
$numbers = range (1,50);
//shuffle 将数组顺序随即打乱
shuffle ($numbers);
//array_slice 取该数组中的某一段
$num=6;
$result = array_slice($numbers,0,$num);
print_r($result);
?
方法二
?php
$numbers = range (1,20);
//播下随机数发生器种子,可有可无,测试后对结果没有影响
srand ((float)microtime()*1000000);
shuffle ($numbers);
//跳过list第一个值(保存的是索引)
while (list(, $number) = each ($numbers)) {
echo "$number ";
}
?
方法三
?php
function NoRand($begin=0,$end=20,$limit=5){
$rand_array=range($begin,$end);
shuffle($rand_array);//调用现成的数组随机排列函数
return array_slice($rand_array,0,$limit);//截取前$limit个
}
print_r(NoRand());
?
方法四
?php
$tmp=array();
while(count($tmp)5){
$tmp[]=mt_rand(1,20);
$tmp=array_unique($tmp);
}
print_r($tmp);
?
方法五
?php
$tmp = range(1,30);
print_r(array_rand($tmp,10));
?
都在这咯,希望可以帮到你
thinkphp怎么生成唯一标识
1、md5(time() . mt_rand(1,1000000));
这种方法有一定的概率会出现重复
2、php内置函数uniqid()
uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.
w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的。如需生成绝对唯一的 ID,请使用 md5() 函数"。
3、官方uniqid()参考手册有用户提供的方法,结果类似:{E2DFFFB3-571E-6CFC-4B5C-9FEDAAF2EFD7}
public function create_guid($namespace = '') {
static $guid = '';
$uid = uniqid("", true);
$data = $namespace;
$data .= $_SERVER['REQUEST_TIME'];
$data .= $_SERVER['HTTP_USER_AGENT'];
$data .= $_SERVER['LOCAL_ADDR'];
$data .= $_SERVER['LOCAL_PORT'];
$data .= $_SERVER['REMOTE_ADDR'];
$data .= $_SERVER['REMOTE_PORT'];
$hash = strtoupper(hash('ripemd128', $uid . $guid . md5($data)));
$guid = '{' .
substr($hash, 0, 8) .
'-' .
substr($hash, 8, 4) .
'-' .
substr($hash, 12, 4) .
'-' .
substr($hash, 16, 4) .
'-' .
substr($hash, 20, 12) .
'}';
return $guid;
}
php 如何获取客户端唯一标识
标识一个客户端:
首先服务端就排除了,因为可以用多个用户登录。
然后看客户端有什么办法,只能是采用客户端存储的方式
1、cookie 这个你排除了,可能是因为清除cookie比较容易操作。但这也是一种办法。
2、客户端的dom存储,这个有一定的局限,只有新的浏览器支持。而且同样可以删除。
3、插件方式,这个需要客户安装,一般不可能,但可以利用比较流行的安装率比较高的插件,例如flash,采用flash的本地存储记录。同样可以删除。
综上,不可能完全的防止,但可以采用几种技术的结合,这样可以增加重复发布的难度。
但是还是那句话,是否重复发表信息是由用户决定的。如果用户认为重复发布的成本高于了解除这个限制的成本,那么也就降低了用户重复发布的几率。
这个没有完美的解决方案,只能是尽力。
php 如何获取唯一身份访问者,根据每一台电脑来获得唯一的标识
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php。
2、在index.php中,输入代码:echo $_SERVER['REMOTE_ADDR'];。
3、浏览器运行index.php页面,此时会打印出用户的远程地址。