PDA

Просмотр полной версии : не пойму в чём ошибка


Дикс
14.04.2009, 14:28
<?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", "фаил не наиден ") ;
}
?>


тестовый фаил

выа ывавы ыва

Всё вроди бы протсмо - праграма должна убирать прабелы изтекста и сахранять в фаил. но почемуто получается что текста становится много оон копировается и не то что надол
Помоогите наити ошибку совсем замучался

laedafess
14.04.2009, 15:05
<?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+. А почему он не пашет, при открытии с другими опциями, чето я не врублюсь.

Gar|k
14.04.2009, 15:16
<?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);fcl ose($f);
}
?>


можно наверно и более изящненько написать )

Дикс
14.04.2009, 15:36
<?php echo(file_exists($_GET['f']))?(file_put_contents($_GET['f'],str_replace(' ','',file_get_contents($_GET['f']))))?'ok':'fail':'404';


всё, чутка подправил, всё заработало :) всем спасибо

Cthulchu
14.04.2009, 15:44
гы, а почему перенесли в болталку-то?)

Gar|k
14.04.2009, 15:45
file_put_contents (PHP 5) :)

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

Дикс
14.04.2009, 19:04
изначально предполагалось постебаться.
моя версия ещё и trim не делает, а следовало бы. смысл в том, чтобы написать как можно более компактную работоспособную версию того дерьма, которое в первом посте.

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