|
|
|
| есть функция. Как сделать аналогичную но, записывать в файл
function f()
{
$dt=func_get_args();
foreach ($dt as $one)
{
echo "<pre>";print_r($one);echo "</pre>";
}
}
|
| |
|
|
|
|
|
|
|
для: stasmus
(25.10.2007 в 16:47)
| |
<?
function f()
{
$dt=func_get_args();
foreach ($dt as $one)
{
$fp = fopen($one, 'a+');
}
}
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(25.10.2007 в 17:49)
| | Наверное
<?
function f()
{
$name = 'file.txt';
$dt=func_get_args();
$fp = fopen($name, 'a+');
foreach ($dt as $one)
{
fputs($fp, $one); // может быть $one."\r\n"
}
fclose($fp);
}
?>
|
| |
|
|
|
|
|
|
|
для: kasmanaft
(25.10.2007 в 17:56)
| | нет, не выйдет, в общем случае массив имеет n-мерную вложенность, а fwrite fputs работают со строками | |
|
|
|
|
|
|
|
для: stasmus
(25.10.2007 в 19:31)
| | а подробнее мона | |
|
|
|
|
|
|
|
для: mihdan
(25.10.2007 в 19:38)
| | мона. Эта функция отладочная - должна выводить список всех переменных передаваемых ей. Каждая переменная может быть какой угодно вложенности. например
$g='string2';
$h=12305;
$f=array($g,'info'=>$h);
$e=array(1,8);
$b=array(&$e,'name'=>&$f);
$d='string';
$c=1;
$a=array(&$b,'data'=>$c,$d);
|
нужно в файл записать то же самое чтоо и пры вызове функции
Array
(
[0] => Array
(
[0] => Array
(
[0] => 1
[1] => 8
)
[name] => Array
(
[0] => string2
[info] => 12305
)
)
[data] => 1
[1] => string
)
|
| |
|
|
|
|
|
|
|
для: stasmus
(25.10.2007 в 19:59)
| |
<?
function f()
{
ob_start();
$dt=func_get_args();
foreach ($dt as $one)
{
print_r($one);
}
$bufer = ob_get_contents();
ob_end_clean();
$fp = fopen("file.log", "w");
fwrite($fp, $buffer);
fclose($fp);
}
?>
|
| |
|
|
|
|
|
|
|
для: Drago
(25.10.2007 в 20:22)
| | здорово. Хороршее решение! | |
|
|
|
|
|
|
|
для: stasmus
(25.10.2007 в 20:36)
| | А зачем Вам это? Лучше serialize() для нормальных ситуаций. | |
|
|
|
|
|
|
|
для: Unkind
(25.10.2007 в 21:42)
| | не разу не применял serialize на практике. Зачем? что дает? | |
|
|
|
|
|
|
|
для: stasmus
(25.10.2007 в 22:06)
| | упаковка массива или объекта в строку | |
|
|
|
|
|
|
|
для: stasmus
(25.10.2007 в 22:06)
| | > не разу не применял serialize на практике. Зачем? что дает?
Любое значение (integer, string, array, ...) можно представить в виде строки. Потом можно, естественно, получить это значение обратно. | |
|
|
|
|
|
|
|
для: Unkind
(25.10.2007 в 23:01)
| | ага, ясно, но наверно использовать очень удобно при отладке сложной системы в течении длит времени, но мне была необходима отладка в онлайн-режиме, унсериалайз неудобен. с ОБ интересней решение, но неуместно видимо если возникнет ситуация ОБ в ОБ... | |
|
|
|
|
|
|
|
для: stasmus
(25.10.2007 в 23:12)
| | Не, serialize() не для отладки. Если Вы проводите отладку, то удобнее использовать var_export():
<?php
$array = array('key' => 'value', 'value');
$result = var_export($array, true);
echo $result;
//Значение $result можно сохранить в тот же файл
?>
|
> с ОБ интересней решение
output_buffering - буферизация вывода
> но неуместно видимо если возникнет ситуация ОБ в ОБ
Полезно читать мануал (http://php.net/ob_start):
Output buffers are stackable, that is, you may call ob_start() while another ob_start() is active. Just make sure that you call ob_end_flush() the appropriate number of times. If multiple output callback functions are active, output is being filtered sequentially through each of them in nesting order. | |
|
|
|