Basic PHP document management system, including automatic detection of corporate logos in letters
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

logo.php 1.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?PHP
  2. $image = $_POST['image'];
  3. if (!preg_match('/^([a-z]+\/)+[a-z]+[-_][0-9]+\.jpe?g$/', $image)) {
  4. die('Error: ' . htmlentities($image));
  5. }
  6. ?>
  7. <h2>Logo detect</h2>
  8. <h3>Detected logo</h3>
  9. <?PHP
  10. if (file_exists('.logos/' . md5($image))) {
  11. echo '<img src=".logos/', md5($image), '">';
  12. }
  13. ?>
  14. <h3>Documents with similar logos</h3>
  15. <?PHP
  16. require_once('database.inc.php');
  17. $sql = 'SELECT logo_image, logo_matrix FROM logoresults WHERE LENGTH(logo_matrix) > 0';
  18. $res = mysql_query($sql);
  19. $data = array();
  20. while ($row = mysql_fetch_assoc($res)) {
  21. $data[$row['logo_image']] = $row['logo_matrix'];
  22. }
  23. $timage = substr($image, 5);
  24. if (isset($data[$timage])) {
  25. $target = $data[$timage];
  26. unset($data[$timage]);
  27. foreach ($data as $key => $value) {
  28. $data[$key] = levenshtein($value, $target);
  29. }
  30. asort($data);
  31. foreach ($data as $key => $value) {
  32. if ($value < 10) {
  33. echo '<div style="float: left; text-align: center; font-size: small;"><img src="thumb.php?', 'docs/', $key, '"><br>(', $value, ')</div>';
  34. }
  35. }
  36. }
  37. ?>