PHP ECHO VARIABLE - PullRequest
       4

PHP ECHO VARIABLE

0 голосов
/ 30 сентября 2010

Мне удалось создать новую строку для каждой только с:

$content1= hot("britney") ? "britney found" : "";
$content2= hot("gaga") ? "gaga found" : "";
$content3= hot("carol") ? "carol found" : ""; 

$filename = 'result.txt';
$handle = fopen($filename, 'a');
fwrite($handle, "$Content1\r\n");
fwrite($handle, "$Content2\r\n");
fwrite($handle, "$Content3\r\n");
fwrite($handle, "$Content4\r\n");
fclose($handle);

Но у меня много строк, и это делает много модификаций ... Как я могу автоматизировать процесс? может быть, что-то вроде foreach <я действительно не знаю, как реализовать это здесь '</strong>

У меня есть следующие коды:

require("class.XMLHttpRequest.php");
function hot($news){
    $url="https://localhost/search.aspx?search=".$news.""; 
 $ajax=new XMLHttpRequest();
 $ajax->setRequestHeader("Cookie","Cookie: host");
 $ajax->open("GET",$url,true);
 $ajax->send(null);
 if($ajax->status==200){
  $rHeader=$ajax->getResponseHeader("Set-Cookie");
  if(substr_count($rHeader, "Present!")>0) { return true; }
 }else{ return false; }
} 

echo ( hot("britney") )?"britney found":"<br>";
echo ( hot("gaga") )?"gaga found":"<br>";
echo ( hot("carol") )?"carol found":"<br>"; 

И

<?php
$filename = 'test.txt';
$Content = "Add this to the file\r\n";

echo "open";
$handle = fopen($filename, 'x+');
echo " write";
fwrite($handle, $Content);
echo " close";
fclose($handle);
?>

и у меня есть много echo ( hot("britney") )?"britney found":"<br>"; в моем сценарии, и поэтому я хочу отправить их в файл

как мне установить строку для echo ( hot("britney") )?"britney found":"<br>";, чтобы иметь возможность использовать ее в моем коде, который отправляет информацию в файл

я также не хочу, чтобы страница выводила что-либо на экран

Ответы [ 5 ]

1 голос
/ 30 сентября 2010

Как уже говорили другие, поместите содержимое вашего эха в переменную, а затем запишите это в файл. Есть два способа сделать это. Вы можете использовать обработчики файлов:

<?php
// "w" will create the file if it does not exist and overwrite if it does
// "a" will create the file if it does not exist and append to the end if it does
$file = fopen('/path/to/file', 'w');
fwrite($file, $content);
fclose($file);

Несколько проще - file_put_contents () :

<?php
file_put_contents('/path/to/file', $contents);

А если вы хотите добавить в файл:

<?php
file_put_contents('/path/to/file', $contents, FILE_APPEND);

Что касается ваших круглых скобок вокруг условного эха, я предпочитаю что-то более похожее на следующее:

<?php
$contents = '';
$contents .= (hot('britney') ? 'britney found' : '<br />');

Если вы хотите иметь возможность легко читать файл вне веб-браузера, вы должны использовать новую строку вместо <br /> для разделения вашего вывода. Например:

<?php
$contents = '';
$contents .= (hot('britney') ? 'britney found'."\n" : "\n");
1 голос
/ 30 сентября 2010

Просто сохраните вещи в переменной, затем напишите переменную.

// put stuff in $content instead of printing
$content = '';
$content .= hot("britney") ? "britney found" : "<br>";
$content .= hot("gaga") ? "gaga found" : "<br>";
$content .= hot("carol") ? "carol found" : "<br>"; 

// write to file
$handle = fopen($filename, 'x+');
fwrite($handle, $content);
fclose($handle);
1 голос
/ 30 сентября 2010

$Content = hot("britney") ? "britney found" : "<br>";

0 голосов
/ 30 сентября 2010

Во-первых, ваши скобки не в том месте. Должно быть так:

echo (hot ("Бритни")? "Бритни найдена": "
");

Если вы хотите захватить ваш эхо и другие выходные данные, используйте методы ob_start и ob_flush.

Но если вы делаете HTTP-запросы к этому файлу, он не будет отображаться на экране.

Если это то, что вы имели в виду, тогда это ваш ответ.

0 голосов
/ 30 сентября 2010

Замените все операторы echo на переменную, затем запишите эту переменную в файл.

$Content.= ( hot("britney") )?"britney found":"<br>";

и т.д ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...