PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 3
Roman4eg Отправлено: 05 Мая, 2020 - 15:38:42 • Тема: Удалить дубликаты файлов из папки • Форум: Вопросы новичков

Ответов: 0
Просмотров: 347
Есть папка с большим количестовом фалов. Мне нужно удалить все файлы с дублирующимся содержимым.

Подскажите пожалуйста как правильно почистить дубликаты из папки. Может есть какая то хитрая функция или надо самому открывать каждый файл в цикле и сравнивать его содержимое с другими файлами?
(Добавление)
Делаю так, но удаляются все файлы(

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. // путь к папке с файлами с текстами
  3. $texts_folder = "texts";
  4.  
  5. $files1 = scandir($texts_folder);
  6. // убираем . и ..
  7. $files1 = array_slice($files1, 2);
  8. print_r($files1);
  9.  
  10. foreach($files1 as $item)
  11. {
  12.     foreach($files1 as $item1)
  13.     {
  14.         if( $item!=$item1 && md5_file($texts_folder."\\".$item1)==md5_file($texts_folder."\\".$item1))
  15.        {    
  16.            echo "файлы одинаковы удаляем $item1<br>";
  17.             unlink($texts_folder."\\".$item1);
  18.         }
  19.     }
  20.      
  21.     echo "проверили $item<br><br>";
  22. }
  23.  
  24.  

(Добавление)
Вот так вроде работает

CODE (htmlphp):
скопировать код в буфер обмена
  1. // путь к папке с файлами с текстами
  2. $texts_folder = "texts";
  3.  
  4. $files1 = scandir($texts_folder);
  5. // убираем . и ..
  6. $files1 = array_slice($files1, 2);
  7. print_r($files1);
  8.  
  9. foreach($files1 as $item)
  10. {
  11.     if(!file_exists($texts_folder."\\".$item))
  12.         continue;
  13.    
  14.     $str = file_get_contents($texts_folder."\\".$item);
  15.     for($ii=0; $ii<count($files1); $ii++)
  16.    {
  17.        $item1 = $files1[$ii];
  18.        if(!file_exists($texts_folder."\\".$item1))
  19.           continue;
  20.        
  21.        $str1 = file_get_contents($texts_folder."\\".$item1);
  22.        
  23.        if( $item!=$item1 && $str==$str1)
  24.        {    
  25.            echo "файлы одинаковы удаляем $item1<br>";
  26.             unlink($texts_folder."\\".$item1);
  27.             //unset($files1[$ii]);
  28.         }
  29.     }
  30.      
  31.     echo "проверили $item<br><br>";
  32. }
Roman4eg Отправлено: 04 Мая, 2020 - 21:56:00 • Тема: Регулярка для проверки email • Форум: Вопросы новичков

Ответов: 4
Просмотров: 480
Спасибо. Склоняюсь к тому, что проверки на '@' будет достаточно...
Roman4eg Отправлено: 04 Мая, 2020 - 20:23:51 • Тема: Регулярка для проверки email • Форум: Вопросы новичков

Ответов: 4
Просмотров: 480
Всем привет. Пытаюсь с помощью регулярки сделать проверку на валидность для введённого адреса электронной почты.

Начал с простого:

CODE (htmlphp):
скопировать код в буфер обмена
  1. if (!preg_match("/[0-9a-z]+@[a-z]/", $str)) {
  2.     echo "Не правильно введён адрес электронной почты!";
  3.     }


далее в сети нашёл ещё примеры и каждый сложнее предыдущего:

CODE (htmlphp):
скопировать код в буфер обмена
  1. if (!preg_match(
  2.         '/^((([0-9A-Za-z]{1}[-0-9A-z\.]{1,}[0-9A-Za-z]{1})|([0-9А-Яа-я]{1}[-0-9А-я\.]{1,}[0-9А-Яа-я]{1}))@([-0-9A-Za-z]{1,}\.){1,2}[-A-Za-z]{2,})$/u', $str) . '<br/>'){
  3.         echo "Не правильно введён адрес электронной почты!";
  4. }
  5.  


В итоге окончательно запуталcя.

Может кто сталкивался уже, на что в первую очередь надо делать провреку? По задумке надо отсеять те email, на которые нельзя отправить письмо и не потерять нормальные.
Может у кого то есть пример нормальной работающей регулярки для проверки email? Буду очень благодарен.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB