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

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

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

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    не занимайтесь херней, юзайте крон
     
  2. feedose

    feedose Member

    Joined:
    3 Sep 2009
    Messages:
    38
    Likes Received:
    16
    Reputations:
    16
    что такое крон?
     
  3. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    http://ru.wikipedia.org/wiki/Cron
     
  4. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Как верно вывести дату начала месяца и дату конца месяца
    На выходе должно быть 01.07.2010 и 31.07.2010 с учетом что в месяце может быть 31/30 день
     
  5. Vlad&slav

    Vlad&slav Member

    Joined:
    1 Jan 2009
    Messages:
    207
    Likes Received:
    41
    Reputations:
    9
    дате() и день выводи в зависимости от условия, можешь получить остаток от деления на 2 "%" чтобы узнать 30 или 31 ну там ифы надо ещё тож
     
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Byrger
    PHP:
    for ($i=1$i<=12$i++)
    {
        echo 
    date('d.m.Y - t.m.Y'mktime(0,0,0,$i,12010))."<br />\n";
    }
     
    _________________________
  7. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Как разделить строку на равные части?
    Пример:
    999999999->999 999 999
    99999999->99 999 999
    9999999->9 999 999
    999999->999 999
    и т.д.
     
  8. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Пишу без тестирования, так как сейчас нету веб-сервера под рукой. Поправьте меня, если где то ошибка, так как синтаксис пхп мне не очень привычен.
    PHP:
    <?php
    $str 
    "99999";

    if( 
    strlen$str ) % == 0  )
    {
        for( 
    $i 0$i strlen$str ); $i++ )
            {
                if( 
    $i == )
                        echo 
    " ";
                    echo 
    $str$i ];
            }
    }
    else if( 
    strlen$str ) % == )
    {
        for( 
    $i 0$i strlen$str ); $i++ )
            {
                if( 
    $i == )
                        echo 
    " ";
                    echo 
    $str$i ];
            }
    }
    else
    {
        for( 
    $i 0$i strlen$str ); $i++ )
            {
                echo 
    $str$i ];
            }
    }
    ?>
     
    1 person likes this.
  9. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    НTL echo number_format(9999999, 0, '.', ' ');
    Если же нужно делить не только числа, тогда так:
    echo implode(" ",array_reverse(str_split(strrev('9999999'),3)));

    Ins3t плохая идея использовать str_len во втором параметре цикла for, мы будем каждую итерацию считать количество букв в строке
     
    _________________________
    #15789 Gifts, 7 Jul 2010
    Last edited: 7 Jul 2010
    1 person likes this.
  10. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    To Gifts:
    Да, но я не рассчитывал на оптимизацию. Можно конечно предварительно написать
    $len = strlen( $str );
    и использовать $len в циклах.
    И это будет несомненно правильно.
     
  11. Seravin

    Seravin Active Member

    Joined:
    25 Nov 2009
    Messages:
    475
    Likes Received:
    190
    Reputations:
    221
    Помогите найти ошибку(нужно несколько картинок на сервер загрузить)
    Code:
    function uploadimageforadv() {
        $im='';
    for ($i=0;$i<=4;$i++) {
      if (!empty($_FILES['image']['tmp_name'][$i])) {        
        $imageinfo = getimagesize($_FILES['image']['tmp_name'][$i]);
        if($imageinfo['mime'] == 'image/jpeg') {    
            $uploaddir = 'upload/';
            mt_srand((double)microtime()*1000000);
            $in = md5(mt_rand());
            $uploadfile = $uploaddir . $in.".jpg";
            if (move_uploaded_file($_FILES['image']['tmp_name'][$i], $uploadfile)) {
                $im = ", image".($i+1)." = '".$in."'";
            }                      
        }        
      }
    }     
    return $im;    
    }
    
    Code:
    <form action="<?php $_SERVER['php_self'] ?>" method="post" enctype="multipart/form-data">
    <input type="file" name="image[]">
    <input type="file" name="image[]">
    <input type="file" name="image[]">
    <input type="file" name="image[]">
    <input type="file" name="image[]">
    </form>
    
    [/CODE]
     
  12. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Код вроде рабочий. Какого рода у вас ошибка? Права на каталог upload верные стоят?
     
  13. Seravin

    Seravin Active Member

    Joined:
    25 Nov 2009
    Messages:
    475
    Likes Received:
    190
    Reputations:
    221
    Ошибка Filename cannot be empty,на папку всё верно стоит
     
  14. Seravin

    Seravin Active Member

    Joined:
    25 Nov 2009
    Messages:
    475
    Likes Received:
    190
    Reputations:
    221
    хотя нет, добавляет только последнее изображение, а первые нет
     
  15. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Seravin $im .= ", image".($i+1)." = '".$in."'"; Забыли точку перед знаком равенства, потому вы и могли считать, что добавляет только последнее изображение. А так код рабочий (проверено на винде и линуксе). Если же не создаются именно файлы, то внутри цикла добавьте:
    PHP:
    if (!is_writable('upload/')) echo 'Папка не доступна для записи ПХП';
    if (!
    file_exists($_FILES['image']['tmp_name'][$i])) echo 'Папка tmp не доступна для записи';
    И вообще - посмотрите вывод var_dump($_FILES);
     
    _________________________
    #15795 Gifts, 8 Jul 2010
    Last edited: 8 Jul 2010
  16. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    PHP:
    <?php
    $mail
    ='';
    $pass='';
    $id='';
    $tema='ootole';
    $msg='negodue';
    $ch=curl_init();
    curl_setopt($chCURLOPT_URL'http://vkontakte.ru/login.php');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS,'act=login&try_to_login=1&email='.$mail.'&pass='.$pass.'');
    curl_setopt($chCURLOPT_COOKIEJAR'cookies.txt');
    $result=curl_exec($ch);
    curl_setopt($chCURLOPT_URL'http://vkontakte.ru/mail.php?act=write');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_POST0);
    curl_setopt($chCURLOPT_COOKIEFILE'cookies.txt');
    curl_setopt($chCURLOPT_COOKIEJAR'cookies.txt');
    $result=curl_exec($ch);
    echo 
    $result;
    preg_match('#<input type="hidden" id="chas" name="chas" value="(.*)" />#',$result,$chas);
    preg_match('#<input type="hidden" id="act" name="act" value="(.*)" />#',$result,$sent);
    preg_match('#<input type="hidden" id="misc" name="misc" value="(.*)" />#',$result,$misc);
    preg_match('#<input type="hidden" id="to_reply" name="to_reply" value="(.*)" />#',$result,$to_reply);
    curl_setopt($chCURLOPT_URL'http://vkontakte.ru/mail.php');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_COOKIEFILE'cookies.txt');
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS,'act='.$sent[1].'&ajax=1&misc='.$misc[1].'&secure=&chas='.$chas[1].'&photo=&to_id='.$id.'&to_reply='.$to_reply[1].'&toFriends=1&title='.$tema.'&message='.$msg.'&oid=&vid=&fid=&aid=&to_ids='.$id.'');
    $result=curl_exec($ch);
    echo 
    $result;
    ?>
    в нем может быть ошибка кода? Акк с которого шлю активирован => капча при отправке не выскочит
    П.С. по идее должно отправляться лс
     
  17. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    PHP:
    <?php
    $mail
    ='';
    $pass='';
    $id='';
    $tema='ootole';
    $msg='negodue';
    $ch=curl_init();
    curl_setopt($chCURLOPT_URL'http://vkontakte.ru/login.php');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS,'act=login&try_to_login=1&email='.$mail.'&pass='.$pass.'');
    curl_setopt($chCURLOPT_COOKIEJAR'cookies.txt');
    $result=curl_exec($ch);
    curl_setopt($chCURLOPT_URL'http://vkontakte.ru/mail.php?act=write&to='.$id);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_POST0);
    curl_setopt($chCURLOPT_COOKIEFILE'cookies.txt');
    curl_setopt($chCURLOPT_COOKIEJAR'cookies.txt');
    $result=curl_exec($ch);
    echo 
    $result;
    preg_match('#<input type="hidden" id="chas" name="chas" value="(.*)" />#',$result,$chas);
    preg_match('#<input type="hidden" id="act" name="act" value="(.*)" />#',$result,$sent);
    preg_match('#<input type="hidden" id="secure" name="secure" value="(.*)" />#',$result,$secure);
    preg_match('#<input type="hidden" id="photo" name="photo" value="(.*)" />#',$result,$photo);
    preg_match('#<input type="hidden" id="misc" name="misc" value="(.*)" />#',$result,$misc);
    preg_match('#<input type="hidden" id="to_reply" name="to_reply" value="(.*)" />#',$result,$to_reply);
    curl_setopt($chCURLOPT_URL'http://vkontakte.ru/mail.php');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_COOKIEFILE'cookies.txt');
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS,urlencode('act='.$sent[1].'&ajax=1&misc='.$misc[1].'&secure='.$secure[1].'&chas='.$chas[1].'&photo='.$photo[1].'&to_id='.$id.'&to_reply='.$to_reply[1].'&toFriends=0&title='.$tema.'&message='.$msg.'&oid=&vid=&fid=&aid=&to_id='.$id));
    $result=curl_exec($ch);
    echo 
    $result;
    ?> 
     
    #15797 #Wolf#, 9 Jul 2010
    Last edited: 9 Jul 2010
  18. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    чем сгенерить пароль для htpasswd в php?
    сколько вариантов ни перепробовал - авторизация не проходит.
     
  19. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    уверен что ты правильно в htaccess все прописываешь?

    PHP:
    <?php
    // Password to be encrypted for a .htpasswd file
    $clearTextPassword 'some password';

    // Encrypt password
    $password crypt($clearTextPasswordbase64_encode($clearTextPassword));

    // Print encrypted password
    echo $password;
    ?>
     
  20. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Дикс, http://www.insidepro.com/hashes.php (DES, MD5 APR, SHA1-Base64 с добавлением приставки {SHA})
    Либо
    Code:
    htpasswd -nbd test testdes
    htpasswd -nbm test testmd5
    htpasswd -nbs test testsha
    
    с выводом на экран.
    PS. man htpasswd
     
Thread Status:
Not open for further replies.