Pубрика "Полезные решения на PHP"

Discussion in 'PHP' started by Utochka, 2 May 2006.

  1. Developer

    Developer Elder - Старейшина

    Joined:
    3 May 2006
    Messages:
    152
    Likes Received:
    25
    Reputations:
    10
    Для тех, кто в танке - AJax это коротко говоря загрузка определенной инфы без полной перезагрзки страницы. Например нада проголосовать - проголосвал, опрос перезагрузился а вся страница - нет. Быстро и дешего :)
     
  2. pch

    pch Elder - Старейшина

    Joined:
    22 Oct 2005
    Messages:
    34
    Likes Received:
    41
    Reputations:
    15
    Примеры использования и туториалы по AJAX можно найти здесь (EN).
    Описание работы этой технологии и хороший метод реализации (не через эээ... хаки типа "if (window.XMLHttpRequest)"), а через кроссбраузерное изменение атрибута src у тэга script) здесь (РУ)
     
  3. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    2 pch
    Хаки куда более эффективное решение, чем определение браузера и димическое src от полученных данных. Простой пример. Опера позволяет подделывать USER-AGENT, к FF есть плагины. В итоге определение браузера можно обойти. И это твоя будет ошибка, а не ошибка поситителя. А вот хаками ты наверника определяешь браузер и 100% исключаешь сопутствующие ошибки
     
    _________________________
  4. pch

    pch Elder - Старейшина

    Joined:
    22 Oct 2005
    Messages:
    34
    Likes Received:
    41
    Reputations:
    15
    Хаки куда более эффективное решение, чем определение браузер - сорри, некоректно выразился. Определение браузера (хоть более-менее не примитивное) - это некоторого рода хак. Ведь что такое хак? Это применение какого-то неестественного кода (читай, неправильного семантически), с целью исправить глюк (или фичу ;)) того или иного браузера с помощью другого его глюка.
    Например, чтобы вылечить отсутствие getElementById в старых IE приходиться писать что-то типа
    Code:
    <script language="JavaScript">
    function realGetById(id)
    {
    
    return (document.all) ?  document.all(id) : document.getElementById(id);
    
    }
    </script>
    
    Проверка на document.all - это, формально не определение браузера, но фактически - это именно оно! Так, возвращаясь к AJAX'у, изменение src у тэга скрипт введено давно и поэтому реально поддерживается всеми популярными браузерами. А выше приведённый пример не работает при отключенной поддержке ActiveX в ИЕ итд. Почитай приведённую мной ссылку - там толково. Хотя, поспорить по поводу вещей, относящихся к моему профессиональным увлечениям, я не против :p
     
  5. ferryman

    ferryman Elder - Старейшина

    Joined:
    13 Feb 2006
    Messages:
    88
    Likes Received:
    8
    Reputations:
    5
    Вот решил тему поднять.. Функция не моя, но прекрасно спраляется со своей задачей.

    PHP:
    function strings_stripstring($text$wrap$length)
                    {
                    
    $wordlen 0;
                    for(
    $i 0$i strlen($text); $i++) {
                      
    $text2 .= $text[$i];
                      if(
    $text[$i] != " "$wordlen++; else  $wordlen 0;
                      if(
    $wordlen $wrap){
                        
    $text2 .= " ";
                        
    $wordlen 0;
                      }
                    }
                    
    $text $text2;
                    
    $text substr($text0$length);
                    return 
    $text;
                    }
     
  6. ZetRider

    ZetRider Elder - Старейшина

    Joined:
    18 Dec 2004
    Messages:
    38
    Likes Received:
    13
    Reputations:
    4
    Вот тут находятся полезные решения небольших скриптов: [ Link ]
    В базе их 66 (постепенно пополняю) штук.. вот и список:

    Script [1]: Определяем количество строк в txt файле.
    Script [2]: Скрипт запрещающий производить кэширование.
    Script [3]: Удаление строки из txt файла.
    Script [4]: Удаление строки из txt файла использую форму для ввода.
    Script [5]: Отчищаем содержимое txt файла.
    Script [6]: Сохраняем вводимый текс из формы в txt файл.
    Script [7]: Нажимаеш на слово => выпадает меню.
    Script [8]: Записываем IP адрес в txt файл.
    Script [9]: Выводим IP адрес.
    Script [10]:Обновление страницы через n секунд.
    Script [11]:Вывод случайных чисел.
    Script [12]:Вывод случайного слова.
    Script [13]:Обрезание строки на n символах.
    Script [14]:Подавление ошибок.
    Script [15]:Ссылка на копирование в буфер обмена.
    Script [16]:Выводим теги как текст.
    Script [17]:Ромашка ICQ показывающая статус номера.
    Script [18]:Самый простой счетчик посещений.
    Script [19]:Выводим число посетителей которые сейчас на сайте.
    Script [20]:Скрипт помогает записать в начало файла, сдвигая старое вниз.
    Script [21]:Система бана, добавление и задействование.
    Script [22]:Определяем размер файла.
    Script [23]:Вставляем новые данные на 5 строку, а саму 5 строку передвигаем на 6.
    Script [24]:Выводим случайное число от 0 до 100.
    Script [25]:Выводим случайную фразу (строку) из txt файла.
    Script [26]:Выводим содержимое папки c:/windows.
    Script [27]:Замена нескольких пробелов на 1 пробел.
    Script [28]:Заменяем в нужнос строке на слово.
    Script [29]:Меняем регистр букв в тексте на большие.
    Script [30]:Меняем регистр букв в тексте на маленькие.
    Script [31]:Используем в качестве разделителя (два двоеточия).
    Script [32]:Ищем в txt файле слово привет.
    Script [33]:Ищем символ в тексте.
    Script [34]:Кодируем текст в base64.
    Script [35]:Кодирум текст в crc32.
    Script [36]:Кодирум текст в md5.
    Script [37]:Количество строк в файле.
    Script [38]:Делаем первую букву занлавной.
    Script [39]:Объединяем 3 файла в один массив, а именно в $new_array.
    Script [40]:Определяем из трёх чисел самое большое.
    Script [41]:Определяем из трёх чисел самое маленькое.
    Script [42]:Определяем количество символов в тексте.
    Script [43]:Получаем ASCII код, символа @.
    Script [44]:Раскодируем текст из base64.
    Script [45]:Считываем из файла первые 5 строк.
    Script [46]:Считываем из файла последние 5 строк.
    Script [47]:Определяем сколько раз встречается символ в строке.
    Script [48]:Как просто работать с произвольным XML файлом.
    Script [49]:Как могут быть устроены функции explode() и implode().
    Script [50]:Пример простого PHP сценария.
    Script [51]:Примеры коментариев.
    Script [52]:Копирование файлов на php.
    Script [53]:Удаление файлов на php.
    Script [54]:Определение даты и времени.
    Script [55]:Выводим список файлов, и ссылку на них.
    Script [56]:Заменяем выводимое слово из файла на заданное.
    Script [57]:Вывести информацию: браузер, айпи, откуда пришел.
    Script [58]:Используем в качестве разделителя (два двоеточия) Способ №2.
    Script [59]:При наведение на картинку, она увеличивается.
    Script [60]:Вывод список файлов из заданной папки с размером, и ссылка на их удаление.
    Script [61]:Вывести URL страницы.
    Script [62]:Вывести с конца файла в начало.
    Script [63]:Сбрасываем POST-данные.
    Script [64]:Если файл пустой пишет да, иначе нет.
    Script [65]:Редактирование заданного файла.
    Script [66]:Редактирование файла.
     
  7. ferryman

    ferryman Elder - Старейшина

    Joined:
    13 Feb 2006
    Messages:
    88
    Likes Received:
    8
    Reputations:
    5
    Определение IP

    PHP:
    function check_ip($check_ip){
                  if(isset(
    $_SERVER['HTTP_X_FORWARDED_FOR'])){
                  
    $hostname gethostbyaddr($_SERVER['HTTP_X_FORWARDED_FOR']);
                  } else {
                  
    $hostname=gethostbyaddr(getenv("REMOTE_ADDR"));
                  }
                  
    $name=gethostbyname($hostname);
                        
    $ip getenv("REMOTE_ADDR");
                        if (
    $name == $ip){
                        foreach (
    gethostbynamel($name) as $check_ip){
                        if (
    $ip == $check_ip) return $check_ip;
                        }
                        }else{
                         
    $check_ip gethostbyname($_SERVER['HTTP_X_FORWARDED_FOR']);
                         return 
    $check_ip;
                        }
                        }
     
  8. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    2 ferryman
    Ой, а можно я поинтересуюсь, почему в одном случае ты выдираешь IP из переменной окружения $_SERVER, а в другом функцией GetEnv?
     
    _________________________
  9. ferryman

    ferryman Elder - Старейшина

    Joined:
    13 Feb 2006
    Messages:
    88
    Likes Received:
    8
    Reputations:
    5
    А ты методом тыка попробуй и поймешь...

    Кстати, если есть где почитать про єто
    PHP:
    "HTTP_CLIENT_IP"
    "HTTP_X_FORWARDED_FOR"
    Знаю что используют, поєтому вставляю, и не претендую на лучший код(но сам использую єту функцию)
     
    #29 ferryman, 23 May 2006
    Last edited: 23 May 2006