问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PHP中怎么判断上传文件是否从复??,

发布网友 发布时间:2022-04-06 03:20

我来回答

3个回答

热心网友 时间:2022-04-06 04:49

一般情况下上传文件都会重命名,命名成不会重名的文件名,比如重命名为:
$newName = date("YmdHis").md5(mt_rand(10000,99999));
这样即增加了时间还加上了加密后的随机数,就没有重名的可能了。
当然在文件名在加源文件名什么的就看你自己需要了
对了,还不要忘记获取并添加后缀名哦~
所以答案就是根本不用去是否重名的判断。

热心网友 时间:2022-04-06 06:07

把上传的文件生成一个 CRC 码,然后保存到指定文件或到数据库中,把当前上传的文件CRC码和原来的对比,看有没有重复的。这样可以避免相同的文件名但不同的文件内容的问题,不过这样只能把文件上传之后才判断文件是否已经上传。

生成 文件 CRC 函数如下:
<?php
function crc32_file ($filename)
{
$f = @fopen($filename,'rb');
if (!$f) return false;

static $CRC32Table, $Reflect8Table;
if (!isset($CRC32Table))
{
$Polynomial = 0x04c11db7;
$topBit = 1 << 31;

for($i = 0; $i < 256; $i++)
{
$remainder = $i << 24;
for ($j = 0; $j < 8; $j++)
{
if ($remainder & $topBit)
$remainder = ($remainder << 1) ^ $Polynomial;
else $remainder = $remainder << 1;
}

$CRC32Table[$i] = $remainder;

if (isset($Reflect8Table[$i])) continue;
$str = str_pad(decbin($i), 8, '0', STR_PAD_LEFT);
$num = bindec(strrev($str));
$Reflect8Table[$i] = $num;
$Reflect8Table[$num] = $i;
}
}

$remainder = 0xffffffff;
while ($data = fread($f,1024))
{
$len = strlen($data);
for ($i = 0; $i < $len; $i++)
{
$byte = $Reflect8Table[ord($data[$i])];
$index = (($remainder >> 24) & 0xff) ^ $byte;
$crc = $CRC32Table[$index];
$remainder = ($remainder << 8) ^ $crc;
}
}

$str = decbin($remainder);
$str = str_pad($str, 32, '0', STR_PAD_LEFT);
$remainder = bindec(strrev($str));
return $remainder ^ 0xffffffff;
}
?>

热心网友 时间:2022-04-06 07:42

你把上传后的文件不用重命名,然后再用file_exists判断就可以了,一般的人写的上传组件文件名是在重命名时,和已经存在的文件永远不会重复的,你改一下,这样就不用重复上传了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我在石家庄我的显卡坏了过了保修期我想问一下哪里可以修? 梦见蹲了半天的茅房 2016寒假小结作文怎么写 荣耀9,为什么电量现在越来越不耐用,之前更 哪些是易燃易爆场所 加油站有哪些消防安全隐患 说美国和苏联可以毁灭地球若干次的说法是怎么算出来的? 上证指数的年线怎么看? 早教中心需要什么证件 开办早教中心需要哪些许可证 PHP文件判断 能否用PHP判断一个php文件是否有语法错误 如何监控文件夹里内容是否变化 php 请问PHP有没有可以判断文件是否正在被写入的函数? - PHP进阶讨论 所有php文件被改 监视php站点代码是否被人改动过。使代码被更改时让我知道。有什么方法? php 如何判断文本文件里的内容有没有改变 php 检测源代码是否被改动过和是否项目中有增加或删除的文件的实现思路 在PHP中怎么判断一个文件被修改? php中如何把XML转换成字符串 怎么从一台电脑的浏览器输入地址访问另一台电脑服务器(WAMP服务器已搭建,PHPSTORM装好了) 如何让局域网的其他电脑访问我的wamp server 服务 Wamp局域网不能访问(localhost和127.0.01能访问) 我学php用的是wamp集成环境,每次访问的时候只能用localhost或者是127.0.0.1才能访问,我想问下 本地的PHP网站,如何在局域网中的其它机子上打开? 我在本地搭建了PHP+Apache环境,做了一个网站,如何让局域网内的人都能访问我的电脑上的本地网站呢? 使用wamp在我的电脑ie输入localhost或127.0.0.1可以访问网页但是局域网内的电脑上不能访问? 关于wamp局域网其他电脑访问localhost的问题 用php设计的一个网站,用wamp搭建的环境,安装在局域网上,应该是外网不能访问 用phpwind-wamp-4.9安装的局域网论坛,只有本机可以进入论坛,局域网内其他机器都连接不上,什么原因? php 如何判断文件是否被锁 php如何检测文件内是否存在特定内容 PHP 文件修改问题 php怎么判断1个文件是否正确或者上传成功 php如何在字符串中插入变量 如何在PHP字符串中加入变量 如何使用php在指定位置插入指定的字符串 PHP如何在指定位置插入相关字符串 php如何在这段字符串中加入变量 教你如何在PHP字符串中加入变量 在php中如何输入字符串啊? 如何在PHP变量地址中插入空格 php 如何将一串字符插入到另一串字符串的指定位置? php中exit()何时使用?如何连接变量与字符串? php在字符串中添加- php变量前加(string)是什么意思 php 如何在变量中添加字符串 php中存在变量的字符串问题 请问php中变量存储字符串的问题 php如何在字符串中插入随机关键字 求实例函数