Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Полезные (интересные и оригинальные) решения

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Открыть новую тему     Написать ответ в эту тему

SafeWay



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Начну:

Код:
 
  function err_handler ($errno, $errstr, $errfile, $errline) {
    global $display_errors;
    if(($errno != E_NOTICE && $errno != E_WARNING) && $display_errors){
      echo '';
    }
  }
  $error_flags = E_ALL & ~E_NOTICE;
  @error_reporting($error_flags);
  @ini_set ('error_reporting', $error_flags);
  $old_error_handler = set_error_handler("err_handler");
 

 
Бывает полезным, убивает все нотайсы, выводы ошибок и прочее.
 
ЗЫ: Желательно прикрепить.



Публикуем решения, а не задаем вопросы!
Тех же, кто этого не понимает, будем БАНИТЬ!  
Тема именно для уникальных, оригинальных и красивых решений. Если ты только взялся изучать php - не стоит сюда писать, так как, заведомо, у тебя не будет такого решения
 
ps: выделил специально для тех, у кого проблемы со зрением.





Цитата:
ЗЫ: Желательно прикрепить.
В ПМ по этому поводу писать надо. — Svarga.

Всего записей: 365 | Зарегистр. 28-12-2003 | Отправлено: 07:30 26-07-2004 | Исправлено: Cheery, 16:57 25-03-2007
JonJonson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Delphi6, плохо вы смотрели там есть ссылка на http://www.php.net/manual/ru/language.operators.comparison.php
Да и ниже в таблице порядка выполнения операторов упоминается ?:

Всего записей: 135 | Зарегистр. 22-05-2004 | Отправлено: 06:00 17-04-2008
Ser5

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Гибкая проверка IP-адресов.

Всего записей: 2 | Зарегистр. 24-08-2007 | Отправлено: 23:46 20-04-2008
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Написана функция, позволяющая добавлять в начало числа нули (аналог unsigned zerofill в sql):
 

Код:
function unsigned_zerofill($number, $length) {
 
    if (strlen($number) > $length) return;
    
    for ($i = 10, $j = 1; ; $i *= 10, $j++) {
 
        if ($number < $i) return substr(pow(10, $length - $j), 1) . $number;
 
    }
 
}
 
unsigned_zerofill(13, 5); // --> 00013


----------
comming soon..

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 13:48 19-05-2008
andymc

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
6epcepk
Предлагаю более универсальный способ, который учитывает уже имеющиеся функции.

Код:
str_pad('13', 5, '0', STR_PAD_LEFT)
дополнить строку 13 слева нулями до длины 5.

Всего записей: 18 | Зарегистр. 21-09-2006 | Отправлено: 22:04 19-05-2008
rusneftesnab

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хотелось - бы понять правильность кодов http://www.***.ru




Хотелось бы, чтобы читали правила и не занимались рекламой на форуме /Cheery/

Всего записей: 1 | Зарегистр. 20-05-2008 | Отправлено: 11:37 20-05-2008 | Исправлено: Cheery, 17:36 20-05-2008
romka777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
6epcepk  
Предлагаю более универсальный способ, который учитывает уже имеющиеся функции.  
 
Код:str_pad('13', 5, '0', STR_PAD_LEFT)  
 
дополнить строку 13 слева нулями до длины 5.

 

Код:
sprintf("%05d", $str)

 
Добавлено:
Привести все элементы массива к int:

Код:
 
array_walk(&$array, create_function('&$value', 'settype($value, "int");'));
 

Всего записей: 94 | Зарегистр. 28-12-2005 | Отправлено: 13:03 20-05-2008
zerkms

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
romka777
$arr = array_map('intval', $arr);

----------
tvfёdor - оперативно уведомляет о раздачах rutracker | Блог об иммиграции в Новую Зеландию

Всего записей: 387 | Зарегистр. 07-05-2004 | Отправлено: 15:19 20-05-2008
vitcom2

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не помню откуда, но думаю кому нить пригодиться
 
 
СУММА ПРОПИСЬЮ
 
<?
// Функция парсирования триады
// $num - целое число от 0 до 999
// $words - массив, в котором элемент с индексом
// 0 - написание числа 1 (например - "один", "одна")
// 1 - написание числа 2 (аналогично)
// 2 - единицы в единственном числе им.падеже("рубль")
// 3 - единицы в единственном числе род.падеже("рубля")
// 4 - единицы во множественном числе им.падеже("рублей")
 
Function ParseTriad($num,$words)
{
$hundreds = array("",'сто','двести','триста','четыреста','пятьсот','шестьсот',
'семьсот','восемьсот','девятьсот');
$decads = array('двадцать','тридцать','сорок','пятьдесят','шестьдесят','семьдесят',
'восемьдесят','девяносто');
$fdecads = array('десять','одиннадцать','двенадцать','тринадцать','четырнадцать',
'пятнадцать','шестнадцать','семнадцать','восемнадцать','девятнадцать');
$ones = array("",$words[0],$words[1],'три','четыре','пять','шесть','семь','восемь','девять');
 
$result = "";
 
$h = floor($num / 100);
 
$result .= $hundreds[$h];
 
$d = floor(($num - $h * 100) / 10);
$c = ($num - $h * 100 - $d*10);
 
$result.=($result!="")?" ":"";
 
if ($d==1) {$result .= $fdecads[$c];}
else
{if ($d>1) $result .= $decads[$d-2] . " ";
$result .=$ones[$c];}
 
$result.=($result!="")?" ":"";
 
switch ($c)
{
case 1:
$result .= ($d!=1)?$words[2]:$words[4];
break;
case 2:
case 3:
case 4:
$result .= ($d!=1)?$words[3]:$words[4];
break;
default:
if ($num > 0)
{$result .= $words[4];}
}
return $result;
}
 
// Функция возвращает число прописью
// $num - любое целое число (в данной реализации до 10^12-1)
// $upcase - булев параметр, если тру, то строка с заглавной буквы
Function ParseSum($num,$upcase)
{
$md = floor($num/1e9);
$m = floor(($num - $md*1e9)/1e6);
$t = floor(($num - $md*1e9 - $m*1e6)/1e3);
$h = floor($num - $md*1e9 - $m*1e6 - $t*1e3);
 
$result = ParseTriad($md,array('один','два','миллиард','миллиарда','миллиардов'));
$result .=($result!="")?" ":"";
$result .= ParseTriad($m,array('один','два','миллион','миллиона','миллионов'));
$result .=($result!="")?" ":"";
$result .= ParseTriad($t,array('одна','две','тысяча','тысячи','тысяч'));
$result .=($result!="")?" ":"";
$result .= ParseTriad($h,array('один','два','рубль','рубля','рублей'));
 
$result = $upcase?ucfirst($result):$result;
return $result;
}
?>

Всего записей: 6 | Зарегистр. 27-06-2006 | Отправлено: 01:53 26-05-2008
grek912

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ подскажите пожалуйста.
Короче в скрипте прописана отправка сообщений на мыло через SMTP сервер простой командой mailto мне надо как то это переписать чтобы скрипт авторизировался на SMTP сервере и с него отправлял потому что хостинг не разрешает не авторизируясь отправлять. Заранее спасибо

Всего записей: 7 | Зарегистр. 13-06-2008 | Отправлено: 09:20 19-06-2008
MaxIkar



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://pear.php.net/package/Mail

Всего записей: 226 | Зарегистр. 04-06-2006 | Отправлено: 10:49 19-06-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
grek912
MaxIkar
читаем шапку - здесь не раздел Вопрос/Ответ
 
grek912
пользуемся фильтром
Perl, PHP: отправка формы на e-mail
там же, наверняка, упомянут класс phpmailer, чтобы не возиться с pear

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:08 19-06-2008
screamdj

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Огромный респект за лин про проверку IP - очень нужно было

Всего записей: 1 | Зарегистр. 21-07-2008 | Отправлено: 18:14 21-07-2008
relates

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нибудь знает, как реализовать преобразование sql в xml?
Нашел способ с помощью пхп -  
http://www.ibm.com/developerworks/ru/library/x-query2xml/
Есть у кого, какие-нибудь другие предложения/идеи как это можно реализовать?





Учимся читать шапку /Cheery/

Всего записей: 6 | Зарегистр. 29-07-2008 | Отправлено: 16:36 29-07-2008 | Исправлено: Cheery, 19:27 29-07-2008
Oleg NT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Озадачился тут недавно: как прочитать EXIF-данные из JPEG-файла?
 
В PHP заявлена функция read_exif_data(), но на нашем сервере она не работает (Вызов неопределенной функции).
 
Нашел название библиотеки: PHP JPEG Metadata Toolkit, которая, по заверению в описании, работает куда лучше, чем стандартная функция PHP (что, мол, стандартная не все теги определяет).
 
Сайт официальный закрылся, ссылок в интернете нигде не нашел. Выкачал через ed2k.
 
Вот ссылка на библиотеку:
http://rapidshare.com/files/149517614/PHP_JPEG_Metadata_Toolkit_1.11.zip.html
 
Документация прилагается, код хорошо откомментирован. Но в том виде библиотека, как есть, не совсем удобна для использования, поэтому, возможно, придется поковыряться в ней

Всего записей: 229 | Зарегистр. 09-06-2006 | Отправлено: 02:42 30-09-2008
Delta RuBoard



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Код:
 
function show_pages($topic_select_num_rows, $topic_select_all_num_rows, $posts_per_page, $cat, $p)
{
    global $_GET;
    if (!empty($cat))
    {
        $cat = '&cat='.$cat;
    }
    if (!empty($_GET['act']))
    {
        $cat = '&act='.$_GET['act'];
    }
    $pages_num = ceil($topic_select_all_num_rows / $posts_per_page);
    $pages = '';
    $pages_show = '';
    if ($p > $pages_num)
    {
        $p = $pages_num;
    }
    if ($p < 3)
    {
        $left = $p - 1;
    }
    else  
    {
        $left = 2;
    }
    if ($p > ($pages_num-2))
    {
        $right = $pages_num - $p;
    }
    else  
    {
        $right = 2;
    }
    if ($p > 3)
    {
        $left_add = ' <a href=?p='.($p-3).$cat.' class=t_link style="border: 1px solid #000; background-color:#f0f0f0; width: 20px;">&nbsp;&nbsp;…&nbsp;&nbsp;</a> ';
    }
    else  
    {
        $left_add = ' ';
    }
    if ($p < ($pages_num - 2))
    {
        $right_add = ' <a href=?p='.($p+3).$cat.' class=t_link style="border: 1px solid #000; background-color:#f0f0f0; width: 20px;">&nbsp;&nbsp;…&nbsp;&nbsp;</a> ';
    }
    else  
    {
        $right_add = ' ';
    }
    for ($i = $left; $i-->0;)
    {
        $pages_show .= '<a href=?p='.($p-$i-1).$cat.' class=t_link style="border: 1px solid #000; background-color:#f0f0f0; width: 20px;">&nbsp;&nbsp;'.($p-$i-1).'&nbsp;&nbsp;</a> ';
    }
    $pages_show .= '<span style="border: 1px solid #000; background-color:#e0e0e0; width: 20px;">&nbsp;&nbsp;'.$p.'&nbsp;&nbsp;</span>';
    for ($i = 0; $i++<$right;)
    {
        $pages_show .= ' <a href=?p='.($p+$i).$cat.' class=t_link style="border: 1px solid #000; background-color:#f0f0f0; width: 20px;">&nbsp;&nbsp;'.($p+$i).'&nbsp;&nbsp;</a> ';
    }
    $pages .= '<a href=?p=1'.$cat.' class=t_link style="border: 1px solid #000; background-color:#f0f0f0; width: 20 px;">&nbsp;&nbsp;«&nbsp;&nbsp;</a> ';
    if ($p > 1)
    {  
        $pages .= '<a href=?p='.($p-1).$cat.' class=t_link style="border: 1px solid #000; background-color:#f0f0f0; width: 20 px;">&nbsp;&nbsp;‹&nbsp;&nbsp;</a> ';
    }
    $pages .= $left_add.$pages_show.$right_add;
    if ($p < $pages_num)
    {
        $pages .= ' <a href=?p='.($p+1).$cat.' class=t_link style="border: 1px solid #000; background-color:#f0f0f0; width: 20 px;">&nbsp;&nbsp;›&nbsp;&nbsp;</a>';
    }
    $pages .= ' <a href=?p='.$pages_num.$cat.' class=t_link style="border: 1px solid #000; background-color:#f0f0f0; width: 20 px;">&nbsp;&nbsp;»&nbsp;&nbsp;</a> ';
    $pages .= '<br><br>';
    return $pages;
}
 

 
вот моя разбивка на страници. похоже на IPB'шную
 
входящий параметр $cat можно удалить

----------
мой маленький блог
Создание on-line игр

Всего записей: 382 | Зарегистр. 21-06-2005 | Отправлено: 21:44 03-10-2008
STAFT

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за ваши Сообщении! Буду часто заходить!
 
***.Cx0.ru




Проходите мимо, не задерживайтесь /Cheery/

Всего записей: 3 | Зарегистр. 13-10-2008 | Отправлено: 08:41 14-10-2008 | Исправлено: Cheery, 16:57 14-10-2008
SvMn

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А как сделать php код скрыть/Развернуть ??




Читаем внимательно шапку и название темы /Cheery/

Всего записей: 6 | Зарегистр. 21-12-2005 | Отправлено: 18:21 14-10-2008 | Исправлено: Cheery, 20:28 14-10-2008
nomerdoma

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сайт о недвижимостиp
как раскрутить сайт?
 
Добавлено:
визитки
,




А не пойти бы вам погулять? /Cheery/

Всего записей: 1 | Зарегистр. 15-10-2008 | Отправлено: 11:34 15-10-2008 | Исправлено: Cheery, 18:16 15-10-2008
klyopsanya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здраствуйте!!
У меня такая проблема  





Читать научитесь сначала /Cheery/

Всего записей: 1 | Зарегистр. 19-10-2008 | Отправлено: 16:29 19-10-2008 | Исправлено: Cheery, 20:21 19-10-2008
lucywave

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет! У меня такой вопрос. Как сделать расхлоп графиков, как на http://www.***.ru То есть, чтобы при нажатии весь фон затемнялся, а в центре был расхлопнутый график.




Вам отдельно указать на шапку?? /Cheery/

Всего записей: 2 | Зарегистр. 12-09-2007 | Отправлено: 01:25 21-10-2008 | Исправлено: Cheery, 01:26 21-10-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Полезные (интересные и оригинальные) решения


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru