Geben Sie ähnliche Bilder im Verzeichnis aus, nachdem Sie sie mit der Bildeingabe in PHP verglichen haben
P粉245003607
P粉245003607 2024-01-29 14:38:39
0
1
511

Auf meiner Webseite lädt der Benutzer ein Bild hoch und nach der Übermittlung sollte es mit allen Bildern im Verzeichnis verglichen und ähnliche Bilder ausgegeben werden. Ich habe das mit md5 gemacht, aber es gibt nur das genaue Bild aus. Ich kenne den Grund, aber ich weiß nicht, wie ich alle Bilder in meinem Verzeichnis mit dem Eingabebild mithilfe eines RGB-Vergleichs in einer Schleife ausführen soll ... Kann mir jemand helfen? Das ist mein aktueller Code:

<?php 
    if(isset($_POST['submit'])){

    $filepath=pathinfo($_FILES['file']['name']) ;
    $extension=$filepath['extension'];
    
    $iname= date('H-i-s').'.'.$extension;
    $path='upload/'.$iname;
    if(move_uploaded_file($_FILES['file']['tmp_name'],$path)){
        $img=$path;
        echo $img;
        $f=md5(file_get_contents($img));
        $images=glob("img/*");
        foreach($images as $image){
            if($f==md5(file_get_contents($image))){
                echo  "<img height='70px' width='70px' src='".$image."'/>";
            }

        }


    
}
}
?>

Und mein HTML-Code

<html>
     <body> 
       <form method=post enctype="multipart/form-data">
          <input type=file name=file><br><input type=submit name=submit value=submit>
       </form>
    </body>
   </html>

P粉245003607
P粉245003607

Antworte allen(1)
P粉860897943

我使用了此 git 存储库中提到的类来计算图像哈希值及其差异。

https://github.com/nvthaovn/CompareImage

并将我的代码更改为:

<?php 
include('compareImages.php');
$flag = 0;

if(isset($_POST['submit'])) {

    $filepath = pathinfo($_FILES['file']['name']);
    $extension = $filepath['extension'];
    
    $iname = date('H-i-s').'.'.$extension;
    $path = 'upload/'.$iname;

    if(move_uploaded_file($_FILES['file']['tmp_name'], $path)) {
        
        $compareMachine = new compareImages($path);
        $images = glob("img/*");

        foreach($images as $image)
        {
            $diff = $compareMachine->compareWith($image);
            
            if($diff ";
            }
        }
        
        $flag = 1;
    }
}
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!