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

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

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

    Frize New Member

    Joined:
    8 Nov 2008
    Messages:
    44
    Likes Received:
    1
    Reputations:
    0
    Shadow_p1raT, да походу это, ток чет не робит кажись)))
     
  2. Ion

    Ion New Member

    Joined:
    20 Feb 2009
    Messages:
    2
    Likes Received:
    1
    Reputations:
    0
    Добрый день. В общем требуется создать такой скрипит, который бы записывал в переменную первые 10 строк файла text.txt, затем заменял бы все слова «ready» на «all. ready» и записывал бы эту переменную в файл text2.txt, при этом удаляя из файла text2.txt всё, что там было.
    Пробовал делать так, невышло:

    <?php
    $i = 0;
    $h = fopen("text.txt","r");
    while ($i <= 9) {
    $content .= fgets($h);
    $content .= "\r\n";

    $i++;
    }
    fclose($h);

    $content=ereg_replace('ready','all. ready',$text); // 5

    $w=fopen("text2.txt","r");

    fwrite($w,$content);

    fclose($w);
    ?>


    PS: извиняюсь, если глупость, я начал учить php позавчера.
     
  3. Shadow_p1raT

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

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    spamoney,проверяй входные данные.Какой тип они имеют
    Добавь строчку
    PHP:
    is_string($var_name) or die('Переменная '$var_value' не имеет строковой тип!'); //Тут уже смотри на свой вкус,ставить die() или ещё что нибудь
    после этой
    Code:
    foreach ($_GET as $var_name=>$var_value) {
    
     
    1 person likes this.
  4. Shadow_p1raT

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

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    Ion,так?
    PHP:
    <?php
    $fp 
    fopen('text.txt','r');
    for(
    $i=0;$i<=9;$i++) {
        
    $content .= fgets($fp);
    }
    fclose($fp);    

    $content str_replace('ready','all. ready',$content);

    $fp2 fopen('text2.txt','w');
    fwrite($fp2,$content);
    fclose($fp2);
    ?> 
     
  5. Ion

    Ion New Member

    Joined:
    20 Feb 2009
    Messages:
    2
    Likes Received:
    1
    Reputations:
    0
    Да, так. Спасибо большое. :) Всё работает нормально, но при выполнении скрипта вылезает это:
    Notice: Undefined variable: content in T:\home\localhost\1234.php on line 4
    Что ему в 4-й строке не нравится?
     
    1 person likes this.
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    spamoney По хорошему - надо добавить рекурсивную проверку, если в качестве параметра передают массив, ограничив глубину рекурсии скажем 2-3 уровнями (чтобы не заддосили). Если же уверены, что ваша КМС не принимает массивы в качестве параметра, то сделать, как предложил Shadow_p1raT только вместо die вызывать функцию warn_report

    Ion В начале скрипта добавь $content='';
     
    _________________________
    1 person likes this.
  7. kraken

    kraken Member

    Joined:
    2 Jan 2009
    Messages:
    74
    Likes Received:
    75
    Reputations:
    5
    m0Hze а что тебе мешает скачать полностью и потом парсить регуляркой?
     
  8. Shadow_p1raT

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

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    m0Hze,можно так
    PHP:
    <?php
    $fp 
    fopen('http://localhost/test/test.txt''rt');
    $text 'antichat';
    while(!
    feof($fp)) 

       if(
    preg_match('#'.preg_quote($text).'#i'fread($fp100))) 
       {     
           echo 
    'найдено'
           break; 
        } 

    fclose($fp); 
    ?> 
    только вроде требует в php.ini
    Code:
    allow url fopen on
    
     
    1 person likes this.
  9. aciiD

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

    Joined:
    23 Feb 2008
    Messages:
    30
    Likes Received:
    8
    Reputations:
    3
    подскажите мне пожалуйста
     
  10. Winst0n

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

    Joined:
    19 Aug 2008
    Messages:
    92
    Likes Received:
    5
    Reputations:
    0
    PHP:
    <form method="post" name="form"> 
    <p>Название:<br><input name="a" type="text" size="20"></p>
    <p>Описание:<br><input name="b" type="text" size="30"></p>
    <p>Ссылка:<br><input name="s" type="text" size="20"></p>
    <p>Дата:<br><input name="d" type="text" size="20"></p>
    <input name="submit" type="submit" value="Добавить">
    </form>

    <?

    include('../setting/bd.php');
    if(isset($_POST['a'])){$a = $_POST['a'];}
    if(isset($_POST['b'])){$b = $_POST['b'];}
    if(isset($_POST['s'])){$s = $_POST['s'];}
    if(isset($_POST['d'])){$d = $_POST['d'];}


    $result = mysql_query("INSERT INTO includes (a,b,s,d) VALUES('$a','$b','$s','$d')");
    if($result == 'true')
    {
    echo "Добавлено"; 
    }

    ?>
    как сделать чтоб в бд записывало только после нажатия "Добавить" !?
     
  11. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
     <form method="post" name="form">  
    <p>Название:<br><input name="a" type="text" size="20"></p> 
    <p>Описание:<br><input name="b" type="text" size="30"></p> 
    <p>Ссылка:<br><input name="s" type="text" size="20"></p> 
    <p>Дата:<br><input name="d" type="text" size="20"></p> 
    <input name="submit" type="submit" value="Добавить"> 
    </form> 

    <?php
    if(!empty($_POST['submit'])){

    include(
    '../setting/bd.php'); 
    if(isset(
    $_POST['a'])){$a $_POST['a'];} 
    if(isset(
    $_POST['b'])){$b $_POST['b'];} 
    if(isset(
    $_POST['s'])){$s $_POST['s'];} 
    if(isset(
    $_POST['d'])){$d $_POST['d'];} 


    $result mysql_query("INSERT INTO includes (a,b,s,d) VALUES('$a','$b','$s','$d')"); 
    if(
    $result == 'true'

    echo 
    "Добавлено";  

    }
    ?> 
     
    1 person likes this.
  12. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    if(isset($_POST['submit'])) {

    ...А тут всё остальное

    }
     
    #8592 Pashkela, 20 Feb 2009
    Last edited: 20 Feb 2009
    1 person likes this.
  13. Winst0n

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

    Joined:
    19 Aug 2008
    Messages:
    92
    Likes Received:
    5
    Reputations:
    0
    спс =)
     
  14. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    как с помощью пхп можно возвести число в степень Х ? Существует ли такая функция?
     
  15. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    <?php

    function vStepen($n,$pokazatel)
    {
        if(
    $pokazatel == 0)
            return 
    1;
        if(
    $pokazatel == 1)
            return 
    $n;


        
    $buf $n;

        for(
    $i 1$i $pokazatel$i++)
        {
            
    $n *= $buf;
        }


        return 
    $n;
    }

    echo 
    vStepen(3,2);

    ?>
     
    3 people like this.
  16. Frize

    Frize New Member

    Joined:
    8 Nov 2008
    Messages:
    44
    Likes Received:
    1
    Reputations:
    0
    как этот код в функцию запихнуть?

    пробовал так
     
  17. Frize

    Frize New Member

    Joined:
    8 Nov 2008
    Messages:
    44
    Likes Received:
    1
    Reputations:
    0
    .:EnoT:., не работает, ошибка где то
     
  18. Zedi

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

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    Наверно надо будет в какой то временный файл вставлять или вообще в файл и отдавать его юзеру, ведь пользователь может и с модема сидеть, ну и ресурсы)
     
  19. Frize

    Frize New Member

    Joined:
    8 Nov 2008
    Messages:
    44
    Likes Received:
    1
    Reputations:
    0
    еще вопросик:D
    нужен preg_match_all для русского текста
     
  20. Winst0n

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

    Joined:
    19 Aug 2008
    Messages:
    92
    Likes Received:
    5
    Reputations:
    0
    выводит :D
    [​IMG]

    я позавчера "начал" пхп "изучать" :D
     
Thread Status:
Not open for further replies.