Xwab
Форумыnavigate_nextПрограммирование на PHP

Топ: Полезные Коды/Функции (см 1 пост)
Сообщения
Скитч

Получаем favicon используя PHP и Google

function get_favicon($url){
  $url = str_replace("http://",'',$url);
  return "http://www.google.com/s2/favicons?domain=".$url;
}

Использовать echo get_favicon('адрес сайта');
добавлено спустя 4 минуты:
Правильный вывод меток
function tegs($str){
    if(!empty($str)){
    $tegs = explode(',', $str);
    $all_tegs = count($tegs);
    $str_Tegs = '<a href="/tegs.php?search='.mysql_real_escape_string(trim($tegs['0'])).'">'.input($tegs['0']).'</a>';
    for($i = 1; $i<=$all_tegs-1; $i++){
        $str_Tegs .= ', <a href="/tegs.php?search='.input($tegs[$i]).'">'.mysql_real_escape_string(trim($tegs[$i])).'</a>';       
    }
    $str = $str_Tegs;
    } else {
        $str = 'Меток нет...';
    }
 return $str;
}

Использовать echo tegs('Мумбурум, PHP,xwab');

13 Апр 2011, 15:04
Istsam

Ф-ия для ЗЦ

////////////// КАКУЮ ИКОНКУ ВЫВОДИТЬ ////////
function icons($ext) {
    switch ($ext) {
case '.gif': case '.png': case '.jpg': $ico = 'gif.png';
        break;
case '.jar': $ico = 'jar.png';
        break;
case '.mid': case '.mp3': case '.wma': case '.ogg':  $ico = 'mp3.png';
        break;
case '.mp3': $ico = 'mp3.png';
        break;
case '.mp4': case '.mpe': case '.mpeg': case '.mpg': case '.3gp': case '.asf': case '.avi': case '.flv': case '.wmv': $ico = 'mp4.png';
        break;
case '.zip': $ico = 'zip.png';
      break;
default: $ico = 'file.png';
             }
    return $ico;
}

16 Апр 2011, 21:29
Plato

Вот более простой вариант. Расширяемый без вмешательства в функцию. С помощью системново массива.

function icon($var)
{
    global $system;

    // фильтрация запроса
    $var = htmlspecialchars(trim($var));

    // проверка наличия расширения
    // в системном массиве
    if  (! in_array($var, explode(';', $system['ext']))) $icon = 'file';
    else $icon = $var;

    return $icon;
}

17 Апр 2011, 6:24
Plato


   /**
    * Изменение размера изображений
    *
    * Пропорциональное изменение размера производится в случае,
    * если отсутствует один из параметров высоты или ширины изображения
    *
    * @param string $path_to_file путь к существующему изображению
    * @param string $path_to_save путь для сохранения
    * @param int $width ширина изображения
    * @param int $height высота изображения
    * @param int $quality качество изображения в процентах
    * @return boolean
    */
    function image_resize($path_to_file, $path_to_save, $width, $height = 0, $quality = 100) {
      // Проверка наличия изображения на сервере
      if ( ! file_exists($path_to_file)) return FALSE;
      
      // Получение информации о изображении
      $info = getimagesize($path_to_file);

      // Формат изображения
       $format = strtolower(substr($info['mime'], strpos($info['mime'], '/') + 1));

      // Выбор функции для изображения
       $picfunc = 'imagecreatefrom'. $format;
      
      // Старая ширина изображения
        $old_width = $info[0];
       
        // Старая высота изображения
      $old_height = $info[1];
       
        // Вычисление горизонтального соотношения
        $horizontal = $width / $old_width;
       
        // Вычисление вертикального соотношения
        $vertical = $height / $old_height;
       
        // Пропорциональное вычисление параметров
        if ($height == 0) {
           $vertical = $horizontal;
         $height = $vertical * $old_height;
      }
      elseif ($width == 0) {
            $horizontal = $vertical;
         $width = $horizontal * $old_width;
      }
      
      // Формирование размера изображения
      $ratio = min($horizontal, $vertical);
      
      // Необходимость пропорционального изменения
      if ($horizontal == $ratio) $use_horizontal = TRUE;
      else $use_horizontal = FALSE;
      
      $new_width = $use_horizontal ? $width : floor($old_width * $ratio);
      $new_height = ! $use_horizontal ? $height : floor($old_height * $ratio);
      $new_left = $use_horizontal ? 0 : floor(($width - $new_width) / 2);
      $new_top = ! $use_horizontal ? 0 : floor(($height - $new_height) / 2);
      
      $pic_to_src = $picfunc($path_to_file);
      
      // Создание изображения в памяти
       $pic_to_save = imagecreatetruecolor($width, $height);
       
       // Нанесение старого изображения на новое
      imagecopyresampled($pic_to_save, $pic_to_src, $new_left, $new_top, 0, 0, $new_width, $new_height, $old_width, $old_height);
      
      // Определение формата изображения на выходе
      $ext = array_pop(explode('.', $path_to_save));

      switch($ext) {
         case 'jpg':
         case 'jpeg':
            imagejpeg($pic_to_save, $path_to_save, $quality);
         break;
         
         case 'gif':
            imagegif($pic_to_save, $path_to_save, $quality);
         break;
            
         case 'png':
            imagepng($pic_to_save, $path_to_save, $quality);
           break;
          
         default:
            return FALSE;
            break;
      }
      
      // Очистка памяти
       imagedestroy($pic_to_src);
       imagedestroy($pic_to_save);
       
       return TRUE;
   }

29 Июл 2011, 15:05
mixlion

Получение прямых ссылок на видео youtube
Использование:
Сначала подключим класс
include 'ygl.php';

Далее нужно создать экземпляр класса, передав ему id видео
$id = 'AhjcUft3iNA';
$data = new Ygl($id);

Ссылки можно получить используя метод get_links
$links = $data->get_links();
В переменной $data->info хранится информация о видео

Вот сам класс: http://mixlion.ru/data/ygl.phps
Подробнее (web)

29 Июл 2011, 15:09
mazaHELL

я тоже свой класс предоставлю)) правда он уже застарелый, позже выложу более новый

http://xwab.mobi/forum/topic24974-0-asc-0

02 Сен 2011, 23:17
Katorzhnik

iceman12, 2-ой пост неверный. При числе 11 выведет неверную фразу. Вот верная функция (немного переделал её под себя, вместе с фразой сразу выводится число).
Окончания по человечески:

function number($value,$names){ 
    $temp = strval($value); 
    $temp = $temp[strlen($temp)-1]; 
    return (($temp>1 and $temp <5 and (intval($value)>19 or intval($value)<10))?$value.' '.$names[1]:((($temp==1 and $value>20) or $value==1)?$value.' '.$names[0]:$value.' '.$names[2])); 

//используем так
echo number($kolphoto,array('фотография','фотографии','фотографий'));

07 Сен 2011, 15:34
facepalm

97,

function text_ends() {
      $args = func_get_args();
      $num = $args[0]%100;
      if ($num>19) { $num=$num%10; }
      switch ($num) {
         case 1:  { return $args[1]; }
         case 2:
         case 3:
         case 4:  { return $args[2]; }
         default: { return $args[3]; }
      }
   }

Более упрощенный вариант
text_ends('2', 'фотография','фотографии','фотографий');

11 Сен 2011, 7:53
svoloch

Несколько функций. Прикрепил в txt

Парсер REFERER_ов с поисковых систем
Парсер CSV-файла
Определение мобильных браузеров на PHP
Определение MIME-type файла по его расширению
Защита файлов на сервере от прямых ссылок


Файлы залил в ANSI и UTF кодировке. Так, на всякий случай.


__________
посл.ред. 25 Окт 2011, 1:18; всего 5 раз(а) 14 Окт 2011, 13:12
Fuelen

народ,слишком большие высеры кидайте в файлы

19 Окт 2011, 0:25
Ответить на тему