[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Во-первых, когда работаешь с датами, работай с таймстампами дат... Преобразуй читабельные даты в таймстамп времени и фильтруй по нему... Что касается границы 2038 года, то налей пивка и успокойся, твоё аппаратное -программное средство, на котором ты работаешь не доживёт до тех времён когда это случится, а дальше найдут выход из этой ситуации...
     
  2. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    ты рассчитываешь свою систему "на века"?
    -----------
    Зачем на века, это пенсионный фонд, нужно учет дат и 1970 года и после 2038
    (например опрос всем, кто кому от 50 лет, человек который родился в 1990году, сможет войти в группу только в 2040)

    В опросе вверху все описано
     
  3. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4

    даты в таймстамп - ну это понятно, но тамстамп, до 1970 года идет в минус, если человек родился например в 1964, мне для него отсчет в обратном порядке делать?

    PHP:
    то касается границы 2038 годато налей пивка и успокойсятвоё аппаратное -программное средство...
    Внимательно прочте вопрос
    Я не собираюсь вычситывать это после 1938 года, но СЕЙЧАС функции php не работают с датами после 1938, например такие как strtotime, идеально подходящую под мои задачи

    Есть вариант считать таймстамп с 1970 по нынешнюю дату + добавлять по модулю, минусовой таймстамп даты рождения человека (1964 г.р = - 6лет(в секундах))

    Но мне кажется, это не оптимальный вариант
     
  4. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    есть файл вида 45434867468_xxxxxxx
    Нужно что бы на выводе было только xxxxxxx
    т.е. нужно отбросить все что до _
     
  5. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    $m = explode('_',$c);
    echo $m[1];
     
    3 people like this.
  6. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    PHP:
    $a '45434867468_xxxxxxx';
    preg_match('#\d*_(.*)#'$a$b);  
    echo 
    $b[1];
    UPD:
    Пример выше будет работать быстрее) Я чё-то про explode() не подумал)
     
    #6746 .:EnoT:., 15 Dec 2008
    Last edited: 15 Dec 2008
    2 people like this.
  7. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Naydav, ну тогда придётся выйти из рамок таймстампа и хранить и работать уже с конечным представлением времени... Скажем ты берёшь за правило, что время будет в определённом формате DD.MM.YYYY HH:MM:SS... Пишешь свой парсер который парсит такие строки и возвращает, скажем, ассоциативный массив с индексами: year=>1910, day=39 и т.д. И пишешь свою функцию сравнения, которая будет работать с двумя подобными массивами, и скажем, возвращать -1 если одна дата меньше другой, 0 - если они равны и 1 если одна дата больше другой... Но тогда тебе придётся отказаться от хранения таймстампа как такового где бы то ни было - в базах, в скриптах и т.д. и перевести всю свою "систему" на работу по такой схеме...
     
  8. Vid0k

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

    Joined:
    24 Dec 2007
    Messages:
    393
    Likes Received:
    125
    Reputations:
    13
    PHP:
    <?php

    $refer 
    $_SERVER['HTTP_REFERER'];
    if(
    strpos($refer,'antichat.ru')){
        echo 
    'Antchat.ru';
    }
    if(
    strpos($refer,'zloy.org')){
        echo 
    'zloy.org';
    }
    ?>
    вроже так
     
  9. lsass.exe

    lsass.exe Elder - Старейшина

    Joined:
    5 Aug 2007
    Messages:
    156
    Likes Received:
    161
    Reputations:
    24
    не стоит забывать о том что, рефер легко подделывается, либо вабще может быть пустым...А так можно делать как написал Vid0k.
     
  10. optimazer

    optimazer Member

    Joined:
    4 Dec 2008
    Messages:
    46
    Likes Received:
    11
    Reputations:
    0
    $_SERVER['HTTP_REFERER'] - в этой переменной лежит страничка, с которой был сделан переход на текущюю.

    а потом парсишь этот url
    результатом будет ассоциативный массив вида
    потом парсишь host и отсекаешь домен
     
  11. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
    <?
    $otkuda=getenv("HTTP_REFERER"); 
    $otkuda preg_match("/^(http:\/\/)?([^\/]+)/i"$otkuda$rez);
    echo 
    $rez[2];
    ?>
     
  12. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Никак. Просто будет пусто. Вот и задай условие для пусто.
     
  13. NuR

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

    Joined:
    11 Dec 2005
    Messages:
    85
    Likes Received:
    58
    Reputations:
    -2
    прошу обратить внимание что с https ссылок реферер не передаеться
     
    2 people like this.
  14. ntldr

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

    Joined:
    4 Dec 2007
    Messages:
    367
    Likes Received:
    140
    Reputations:
    23
    вообще ссылки с античата не отправляют заголовок реферер
     
  15. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    PHP:
    switch (email_domain){
        case 
    'yandex' 
            {
          
    $from="Yandex.Support<[email protected]>";
           
    $out="поменять $out";
        break;
            }
    }
    если я правильно понял вопрос... Хотя скобки ставить необязательно, главное, чтобы был break, а то оно пробежится и по следующим сравнениям, пока не встретит этот оператор или просто до конца switch
     
    #6755 ss88, 16 Dec 2008
    Last edited: 16 Dec 2008
  16. life_is_shit

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

    Joined:
    21 Aug 2007
    Messages:
    300
    Likes Received:
    149
    Reputations:
    19
    case 'yandex' : $from = $out = "Yandex.Support <[email protected]>";

    0_o ?


    2m0Hze
    будь добр формируй по-людски условия задачи, а то хрен его знает что за $out и что ты туда хочешь записать. и блин, такие вопросы задаешь, что тебе так и хочется кинуть ссылку на русский php-ман, хоть бы основы почитал=\
     
    #6756 life_is_shit, 16 Dec 2008
    Last edited: 16 Dec 2008
    1 person likes this.
  17. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    Вот код?

    PHP:
    <? 
    $im imagecreatetruecolor(215750); 

    $im1 imagecreatefromjpeg('fotos/1228855425_006-0018.jpg');
    $im2 imagecreatefromjpeg('logo.jpg');
    $im3 imagecreatefromjpeg('admin/data/1228856224_6fb8711c4be2d606f4.jpg');
     
    imagecopy($im$im100002525);
    imagecopy($im$im2250002525);
    imagecopy($im$im3025002525);
     
    header('Content-type: image/jpeg');
    imagejpeg($im);
    ?>
    можно ли в imagecreatefromjpeg параметром ставить переменую с картинокой типа

    $a = 'fotos/1228855425_006-0018.jpg'

    ???

    и почему он выводит:

    Warning: Cannot modify header information - headers already sent by (output started at G:\home\img.ru\www\end1.php:8) in G:\home\img.ru\www\end1.php on line 19
    яШяаJFIFяю>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality яЫC    $.' ",#(7),01444'9=82<.342яЫC  2!!22222222222222222222222222222222222222222222222222яАоЧ"яД яДµ}!1AQa"q2Ѓ‘Ў#B±БRСр$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzѓ„…†‡?‰Љ’“”•–—?™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪбвгдежзийкстуфхцчшщъяД яДµw!1AQaq"2ЃB‘Ў±Б #3RрbrС $4б%с&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ѓ„…†‡?‰Љ’“”•–—?™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪвгдежзийктуфхцчшщъяЪ ?чъ(ўЂ щ‹Е?т7л_хя?юЊjъvѕbсOьЌъЧэПяЈјмЗб‰ц<ьzѕ‹у2hўЉтЏРДт№яЂяи"і+OДт№яЂяи"і+иh >?ьs4я~*ю9~l(ўЉФб (ўЂ (ўЂ (ўЂ (ўЂ (ўЂ (ўЂ (ўЂ (ўЂ (ўЂ>яўѕBя„ЛЕф2kш/яGь&^(яЎ“XяАйшЄфїіgьЗ_Х%ЬъцѕAс—Љ>ПгџCц=Ю^Ґr™уqњJГТ—ю/РЙ¬аtїьUp·уKsЁЭO<Ї,ТLот;fbI$“Ф“Юёс™zЊWґФЯЉДеНО„мЮ›'щ¦oВ]яN?щя±ЈюпъqяИїэЌs4Wџх:Лші«эdН?зпюKт,кoѕ’зfНшщsњ`ЧрЄФQ]1ЉЉI=ZІ«9T›»m·кВЉ(¦fQEQEQEQEQEQEQEQEQEtфQE}Qм…s·?сх7ыньлў®vзю>¦я}їќy™—Б“рў*(ўјѓ„(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉµэЈuя=сСюhЭП_ьt…Uўµцх™эмїi>мµэЈuя=сСюY?»c’NI¤ў¦U'?‰¶')KvQEA!EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPE
     
  18. preda1or

    preda1or Member

    Joined:
    27 Oct 2008
    Messages:
    167
    Likes Received:
    96
    Reputations:
    6
    header('Content-type: image/jpeg');
    убери
     
  19. Chode

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

    Joined:
    20 Jul 2008
    Messages:
    164
    Likes Received:
    19
    Reputations:
    0
    перед header не должно ничего выводиться в браузер
    можно ли в imagecreatefromjpeg параметром ставить переменую с картинокой типа - да можно =))
     
  20. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    убрал всё равно за место картинок выводится


    яШяаJFIFяю>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality яЫC    $.' ",#(7),01444'9=82<.342яЫC  2!!22222222222222222222222222222222222222222222222222яАоЧ"яД яДµ}!1AQa"q2Ѓ‘Ў#B±БRСр$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzѓ„…†‡?‰Љ’“”•–—?™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪбвгдежзийкстуфхцчшщъяД яДµw!1AQaq"2ЃB‘Ў±Б #3RрbrС $4б%с&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ѓ„…†‡?‰Љ’“”•–—?™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪвгдежзийктуфхцчшщъяЪ ?чъ(ўЂ щ‹Е?т7л_хя?юЊjъvѕbсOьЌъЧэПяЈјмЗб‰ц<ьzѕ‹у2hўЉтЏРДт№яЂяи"і+OДт№яЂяи"і+иh >?ьs4я~*ю9~l(ўЉФб (ўЂ (ўЂ (ўЂ (ўЂ (ўЂ (ўЂ (ўЂ (ўЂ (ўЂ>яўѕBя„ЛЕф2kш/яGь&^(яЎ“XяАйшЄфїіgьЗ_Х%ЬъцѕAс—Љ>ПгџCц=Ю^Ґr™уqњJГТ—ю/РЙ¬аtїьUp·уKsЁЭO<Ї,ТLот;fbI$“Ф“Юёс™zЊWґФЯЉДеНО„мЮ›'щ¦oВ]яN?щя±ЈюпъqяИїэЌs4Wџх:Лші«эdН?зпюKт,кoѕ’зfНшщsњ`ЧрЄФQ]1ЉЉI=ZІ«9T›»m·кВЉ(¦fQEQEQEQEQEQEQEQEQEtфQE}Qм…s·?сх7ыньлў®vзю>¦я}їќy™—Б“рў*(ўјѓ„(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉµэЈuя=сСюhЭП_ьt…Uўµцх™эмїi>мµэЈuя=сСюY?»c’NI¤ў¦U'?‰¶')KvQEA!EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPE
     
Thread Status:
Not open for further replies.