За последние 24 часа нас посетили 70619 программистов и 1602 робота. Сейчас ищет 1021 программист ...

PHP в прикладных задачах

Тема в разделе "Прочее", создана пользователем [vs], 14 янв 2013.

  1. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Nokia PC Suite с годами не меняется. Свежая версия при попытке скопировать смски с телефона создала over 150 тыс. файлов и зависла.
    Попробовал удалить их с помощью FAR 2 - скорость была около 10 ф/сек, то есть удаление FARом заняло бы 4 часа.
    Набросал скрипт
    Код (PHP):
    1. $files = glob('C:\Users\Василий\AppData\Local\Temp\Nokia Communication Centre - Messages\*');
    2. $c = count($files);
    3. $flag = 0;
    4. while ($c >= 0) {
    5.  $file = current($files);
    6.  unlink($file);
    7.  next($files);
    8.  echo $c . "\r\n";
    9.  $c--;
    10. } 
    PHP потер файлы мигом! Дольше работала функция glob, чем непосредственно удаление.
    Можно делиться в этой теме примерами решения прикладных задач с помощью PHP.
     
  2. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
  3. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    что-то я сомневаюсь, что 150000 вызовов readdir выполнились бы быстрее ;)
     
  4. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    В курсе что на пыхе можно писать GUI софт как под винду, так и кроссплатформенный?)
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    о, да
    и на js
     
  6. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    На js слышал, но не пробовал), а на пыхе пробовал -ниче так, но много гемора и ограничений, лучше уж на старых провереных сях или делфях%).
     
  7. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Очень может быть, что быстрее. И уж точно, что менее ресурсоемко. Было бы не 150к, а десяток миллионов файлов, тупо памяти бы не хватило. По сути glob - это тот же readdir с анализом имени файла и помещение его в память.
     
  8. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Странно как-то...
    Моя практика показывает, что работа с файлами (любая - копирование, перенос, удаление...) наиболее быстро протекает, если просто нажимать на кнопки "Копировать", "Вставить" и т.п. в интерфейсе винды ) Сравнивал по скорости. Разница большая.
     
  9. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    Просто все дело в FAR, а еще в винде есть один минус--она не удаляет сразу, она сначала составляет список файлов, а иногда и анализирует размер), отсюда и потеря в производительности. Был года 3 назад заказ был--написать убивашку для всей инфы на hdd с работающей виндой без возможности восстановления-- там не получался список всех файлов/папок итп, там была рекурсивная процедура. Работала она типо так: получаем первый файл, если папка то запускаем себя и передаем путь к папке, иначе: пытаемся установить атрибуты файла чтобы они допускали перезапись файла, рандомно малость перезаписываем, совсем чуток, переименовываем рандомно, удаляем. Это все в цикле ессно.
    потестил--за 14 секунд она удалила 80 гигов инфы, в итоге папка с виндой стала весить 300 метров лол, после ребута винда работала, но ужас, она просто была чиста, нигде ни текста ни картинок, короче тупо одноцветный десктоп и пуска даже небыло%), но работала, любые действия вызывали ерроры)