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

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

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

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

    Joined:
    6 Jun 2006
    Messages:
    143
    Likes Received:
    13
    Reputations:
    -7
    как сделть так чтобы при условии что в строке количество символов не дающее при деление на 6 целого числа, то к выражению которое делиться в начале добавлялся 0.
    я определил количество символов но не знаю как сделать так чтобы при услови что is_int() даёт тру добавлялся 0 в начало выражения.
    ПОдскажите вобщем с помощью какой функци или как добавлять к строчке 0???
     
  2. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    PHP:
    <?php
    $string 
    "строка";
    $string str_pad($stringstrlen($string)+1"0"STR_PAD_LEFT);
    echo 
    $string;
    ?>
     
  3. Chrek625

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

    Joined:
    6 Jun 2006
    Messages:
    143
    Likes Received:
    13
    Reputations:
    -7
    я только учу PHP поэтому не всё понимаю. Обьясните в чём я ошибся почему не работает скрипт:

    PHP:
    <?php
    @set_time_limit(0);
    $messeg "1100011111";
    $koll strlen($messeg); // считаем количество символо
    $perv strrev($messeg); // Переворачиваем строку
    $nnn = ($koll 6);


    while (!
    is_int($nnn)){
           
    $perv str_pad($pervstrlen($perv)+1"0"STR_PAD_LEFT);
    }

    print 
    "$koll"."<br/>";
    print 
    "$perv";

    ?>
     
  4. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Chrek625 while (!is_int($nnn)) - создает бесконечный цикл.

    На предыдущей странице у .:EnoT:. решение вашей задачки, если же требуется дополнить строку нулями, чтобы число знаков было кратно 6, то:

    PHP:
    $input '1234567';
    $len strlen($input);
    if (
    $len 6) {$out str_pad($input$len+(6-$len 6), "0"STR_PAD_LEFT); }
    else 
    $out $input;
    var_dump($out);
     
    _________________________
    #10524 Gifts, 18 Jun 2009
    Last edited: 18 Jun 2009
  5. STLcRash

    STLcRash New Member

    Joined:
    4 Jun 2009
    Messages:
    39
    Likes Received:
    0
    Reputations:
    0
    Вот PHP скрипт:
    PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
      <
    head>
        <
    title>просмотр данных</title>
        <
    meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
      </
    head>
      <
    body>

      <
    form method="POST" action="index.php">
        <
    label>

          
    Введите id<br>
          <
    input type="text" name="id"/>
        </
    label>
        <
    input name="post" type="submit" value="Отправить"/>
      </
    form>
    После нажатия на кнопку "отправить" должна появляться ссылки вида "http://бла_бла_бла=XXXX"
    Где "ХХХХ" - число, введённое в "<input type="text" name="id"/>"
    Вопрос: где должен храниться файл со ссылками и какой вид он должен иметь? (расширение, дериктория, содержание файла)
     
  6. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    если хочешь что ссылка была вида http://site.ru/index.php?id=5
    то:
    1. Форма должна быть с method="GET"
    2. правильный action указывай или если обработчик формы в файле формы то вообще его не указуй, а там где обработчик сделай if(isset($_GET['post'])) { чтобы была проверка или отправлен запрос
     
  7. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    помогите решить вопрос. а то у меня трабла какае-то. вот уже мучаюсь 2 часа.

    у меня есть цикл. он делает обработку полей. а как сделать чтобы если поле свободное то он не делал обработку его... а то я делал через if(!empty и там начинает не то что надо выводить

    Code:
    for($i = 1; $i < 31; $i++) {
    $time = $_POST['time_'.$i.''];
    $prog = $db->safesql($_POST['prog_'.$i.'']);
    $text.="<b>{$time}</b> {$prog}<br />"; 
    }
     
  8. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    PHP:
    if (isset($var))
    {
    }
    PHP:
    if (strlen(trim($var)) > 0)
    {
    }
     
  9. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Ё! C какой книжки списал, дай почитать
     
  10. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    не то, я пробовал. оно выводит при любых значениях:

    324 2342
    234 234
    324 423
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342
    34 342

    повторяет последнее...
     
  11. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    не списал... прочитал...
     
  12. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    PHP:
    <form method="post" action="?">
    <input name="time_1" value="1"><br>
    <input name="time_2" value="2"><br>
    <input name="time_3" value="  "><br>
    <input name="time_4" value="4"><br>
    <input name="time_5"><br>
    <input name="time_6" value="6"><br>
    <input name="time_7" value=""><br>
    <input name="time_8" value="8"><br>
    <input name="time_9" value=" "><br>
    <input name="time_10" value="10"><br>
    <input type="submit" value="Submit">
    </form>
    <hr>

    <?php

    for ($i 1$i 11$i++)
    {
      if (
    strlen(trim($_POST['time_' $i])) > 0)
      {
        echo(
    $_POST['time_' $i] . '<br>');
      }
    }

    ?>
    Всё работает....
    Т.к. у тебя повторяется. смотри где выполняется вывод сообщений. Если после проверки переменной - то тогда её нада очищать в каждом цикле
     
    1 person likes this.
  13. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    ща попробую немного изменить. смысл понял. спс

    О_о получилось... спс
     
    #10533 alwex, 18 Jun 2009
    Last edited: 18 Jun 2009
  14. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Помогите мне разобраться с кэшем браузеров

    Есть скрипт, при обращении к которому он создаёт картинку pic.jpg => Сохраняет её в папке => Выводит в браузере
    (нажимаем "Обновить страницу" и картинка меняется)

    На локалхосте под любыми браузерами всё норм пашет
    Залил на хостинг, тестировал в IE7 тоже всё нормально

    Но например в FireFox 3 сколько не тыкай обновить постоянно выводит одну и ту же картинку, но если в настройках нажать Очистить Кэш то лиса начинает нормалбно работать(

    Пробовал unlink('pic.jpg');, не помогает ... всё равно лиса выводит картинку из кэша :(
     
  15. wildshaman

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

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    а что, если выводить картинку с параметром ?rand={random num}
     
  16. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    750
    Likes Received:
    1,046
    Reputations:
    291
    PHP:
    <?php
    header
    ("Cache-Control: no-cache, must-revalidate"); 
    ?>
    Или
    PHP:
    <?php
    // Date in the past
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header("Cache-Control: no-cache");
    header("Pragma: no-cache");
    //© w3schools
    ?>
     
    #10536 Dimi4, 19 Jun 2009
    Last edited: 19 Jun 2009
  17. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 geforse:

    Попробуй так http://support.microsoft.com/kb/222064/ru
     
  18. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    спасибо большое за помощь)
    но не работает :(

    Способы Dimi4'a не работают вобще ... Хз почему(

    Pashkela
    Сделал как там написано, страница обновляется каждые 5сек. и картинка каждый раз другая, но если отключить самообновление и обновлять ручками, то попрежнему кэшируется(

    Попробую способоб wildshaman'a

    ещё раз спасибо)
     
  19. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Как можно удалить из папки все файлы определенного формата ?
     
  20. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    PHP:
    <?php 

    $format 
    '.txt';
    $dir '.';

    if (
    $handle opendir($dir))
    {
      while (
    false !== ($file readdir($handle)))
      { 
        if (
    $file != "." && $file != ".."
        { 
          if (
    substr($file, -44) == $format)
          {
            
    unlink($file);
          }
        } 
      }
      
      
    closedir($handle); 
    }

    ?>
     
Thread Status:
Not open for further replies.