не пойму в чём ошибка

Discussion in 'PHP' started by Дикс, 14 Apr 2009.

  1. Дикс

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

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    PHP:
    <?php       //echo $_GET[ 'FILE' ];die;
    //IF ( @isset ( $HTTP_SERVER_GET[ 'FILE' ]) && trim(
    IF ( @isset ( $_GET'FILE' ]) && trim(
       
    //        $HTTP_SERVER_GET['FILE'] ) !=
       //"" ){$FILE=trim($HTTP_SERVER_GET[ 'FILE' ]);
        
    $_GET['FILE'] ) !=        "" ){$FILE=trim($_GET'FILE' ]);
        IF (@
    file_exists($FILE)) {
         
    $HandlerForFile =fopen$FILE "r+" ) ;
    $file_contetn=fread $HandlerForFile ,1024 );#filesize($FILE )); //   echo  filesize('./'.$FILE );
    //$NEW_FAIL_CONTENT=str_replace ( " " , "" ,$file_contetn) ;
    ecHO $file_contetn;
    /*ECHO $NEW_FAIL_CONTENT; */  $TMP=str_replace " " "" ,$file_contetn) ;
    ECHO  
    "--" .$TMP ."--";
    echo 
    fwrite($HandlerForFile ,$TMP/*$NEW_FAIL_CONTENT*/);
    ECHO 
    "ГОТОВО" ;
    } else 
    printf("%s""фаил не наиден ") ;
    }
        
    ?>
    тестовый фаил

    PHP:
    выа ывавы ыва
    Всё вроди бы протсмо - праграма должна убирать прабелы изтекста и сахранять в фаил. но почемуто получается что текста становится много оон копировается и не то что надол
    Помоогите наити ошибку совсем замучался
     
    #1 Дикс, 14 Apr 2009
    Last edited: 14 Apr 2009
    1 person likes this.
  2. laedafess

    laedafess Member

    Joined:
    11 Feb 2009
    Messages:
    70
    Likes Received:
    29
    Reputations:
    15
    PHP:
    <?php       //echo $_GET[ 'FILE' ];die;
    //IF ( @isset ( $HTTP_SERVER_GET[ 'FILE' ]) && trim(
    IF ( @isset ( $_GET'FILE' ]) && trim(
       
    //        $HTTP_SERVER_GET['FILE'] ) !=
       //"" ){$FILE=trim($HTTP_SERVER_GET[ 'FILE' ]);
        
    $_GET['FILE'] ) !=        "" ){$FILE=trim($_GET'FILE' ]);
        IF (@
    file_exists($FILE)) {
    echo 
    $FILE;
         
    $HandlerForFile =fopen$FILE "a+" ) or die("ppc");
    $file_contetn=fread$HandlerForFile,1024) or die("1111");
    //$NEW_FAIL_CONTENT=str_replace ( " " , "" ,$file_contetn) ;
    ecHO $file_contetn;
    /*ECHO $NEW_FAIL_CONTENT; */  $TMP=str_replace " " "" ,$file_contetn) ;
    ECHO  
    "--" .$TMP ."--";
    echo 
    fwrite($HandlerForFile ,$TMP/*$NEW_FAIL_CONTENT*/);
    ECHO 
    "ГОТОВО" ;
    fclose($HandlerForFile);
    } else 
    printf("%s""фаил не наиден ") ;
    }
        
    ?> 
    так пашет.. ну т.е. когда файл открыт с a+. А почему он не пашет, при открытии с другими опциями, чето я не врублюсь.
     
    #2 laedafess, 14 Apr 2009
    Last edited: 14 Apr 2009
    1 person likes this.
  3. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    PHP:
    <?php 
    $file_name
    ="test.txt";
    if(
    file_exists($file_name))
        {
        
    $file_text=str_replace(" ","",implode("",file($file_name)));
        echo 
    $file_text;

        
    $f=fopen($file_name,'w');fwrite($f,$file_text);fclose($f);
        }
    ?>
    можно наверно и более изящненько написать )
     
    _________________________
    #3 Gar|k, 14 Apr 2009
    Last edited: 14 Apr 2009
    1 person likes this.
  4. Дикс

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

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    PHP:
    <?php echo(file_exists($_GET['f']))?(file_put_contents($_GET['f'],str_replace(' ','',file_get_contents($_GET['f']))))?'ok':'fail':'404';
    всё, чутка подправил, всё заработало :) всем спасибо
     
  5. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    file_put_contents (PHP 5) :)

    Дикс. Твой код будет работать только в 5 версии, а мой будет работать даже в 3.0.6 )
     
    _________________________
  6. Дикс

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

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    изначально предполагалось постебаться.
    моя версия ещё и trim не делает, а следовало бы. смысл в том, чтобы написать как можно более компактную работоспособную версию того дерьма, которое в первом посте.

    кстати, первый пост содержит в себе максимум криворукости говнокодеров и служит примером того, как НЕ надо писать код на php.