php 比较两张图片是否一样

<?php 
$sourceImagepath = encodeImage("folder/source.png"); 
$uploadedImagepath = encodeImage("temp/uploded.png"); 

if(areEqual($sourceImagepath , $uploadedImagepath)){ 
    echo "Image is already Exist"; 
    return false; 
} 
echo "Image Upload"; 


function encodeImage($ImagePath){ 
    $ext = pathinfo($ImagePath, PATHINFO_EXTENSION); 
    $Imgcontent = file_get_contents($ImagePath); 
    $base64 = 'data:image/' . $ext . ';base64,' . base64_encode($Imgcontent); 
    return $base64; 
} 

function areEqual($sourceImage, $uploadedImage){  
    if (strcmp($sourceImage, $uploadedImage) !== 0) { 
      return false; 
    } 
    return true; 
} 
?>

或者

<?php 

    function areEqual($firstPath, $secondPath, $chunkSize = 500){ 

     // First check if file are not the same size as the fastest method 
     if(filesize($firstPath) !== filesize($secondPath)){ 
      return false; 
     } 

     // Compare the first ${chunkSize} bytes 
     // This is fast and binary files will most likely be different 
     $fp1 = fopen($firstPath, 'r'); 
     $fp2 = fopen($secondPath, 'r'); 
     $chunksAreEqual = fread($fp1, $chunkSize) == fread($fp2, $chunkSize); 
     fclose($fp1); 
     fclose($fp2); 

     if(!$chunksAreEqual){ 
      return false; 
     } 

     // Compare hashes 
     // SHA1 calculates a bit faster than MD5 
     $firstChecksum = sha1_file($firstPath); 
     $secondChecksum = sha1_file($secondPath); 
     if($firstChecksum != $secondChecksum){ 
      return false; 
     } 

     return true; 
    } 
    ?> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值