<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[调试日志]用php函数var_export把多维数组file_put_contents写入并打印到日志，以方便调试之多维数组，用php5中的var_export函数示例,顺带介绍http_build_query]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Fri, 13 Feb 2009 02:44:54 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	一行解决写入日志：<br/><textarea name="code" class="php" rows="15" cols="100">
file_put_contents(&quot;/tmp/jack.txt&quot;, var_export($layReturnArr,TRUE),FILE_APPEND);
</textarea><br/><br/>一行完成Curl的POST输出：<br/><textarea name="code" class="php" rows="15" cols="100">
echo &quot;curl -d&#92;&quot;&quot;.http_build_query($data).&quot;&#92;&quot; &quot;.$url;
</textarea><br/><br/>临时调试：<br/><textarea name="code" class="php" rows="15" cols="100">
$result= var_export ( $_POST,True);
file_put_contents(&quot;/tmp/jack.txt&quot;,$result,FILE_APPEND);
</textarea><br/><br/>路径变量：<br/><textarea name="code" class="php" rows="15" cols="100">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$uploadSliceLogName = &quot;/data/htdocs/xiyou_devel/data/logs/&quot;.date(&quot;Ymd&quot;).&quot;/uploadedSliceReceiveInfo.txt&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_put_contents($uploadSliceLogName, var_export($_REQUEST,TRUE),FILE_APPEND);
</textarea><br/><br/><textarea name="code" class="php" rows="15" cols="100">
$file_string = var_export ( $_POST,True);
file_put_contents(&quot;/tmp/var_export.txt&quot;,$file_string,FILE_APPEND);
</textarea><br/><br/><br/>在调试上传文件时，如苹果Android等(这一行来自PHP高级编程：岁月如哥【俗称：膘哥】(191295**)它提供的。2013-04-11 09：58 AM )：<br/><textarea name="code" class="php" rows="15" cols="100">
@file_put_contents(&quot;log.txt&quot;,var_export($_GET,$_POST,$_FILES,file_get_contents(&quot;php://input&quot;),true),FILE_APPEND);
</textarea><br/>后记：<br/>岁月如哥(191295**)&nbsp;&nbsp;15:20:48<br/>你要看一下ios下。如果图片过大。或者。。。有些异常情况发生的时候。<br/>$_FILES都为空的。<br/>这些我们都遇到过<br/>收到的内容全部为空。而且会导致其他所有的变量都为空<br/>回忆未来-向东-Jàck(3726476**)&nbsp;&nbsp;15:23:51<br/>那有可能是这个问题，我用上面这个直接打Post有值，呵呵。<br/>膘哥说得对，是可能图片太大了。<br/><br/>调试：<br/><textarea name="code" class="html" rows="15" cols="100">
touch /tmp/var_export.txt
chmod -R 777 /tmp/var_export.txt
tail -f&nbsp;&nbsp;/tmp/var_export.txt 
</textarea><br/>就能看到调试信息。<br/>看了一下phpcms的源码：<br/><br/><br/><div class="code">&nbsp;&nbsp;<br/>function cache_write($file, $string, $type = &#039;array&#039;)&nbsp;&nbsp;<br/>&#123;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp; if(is_array($string))&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp; &#123;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $type = strtolower($type);&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($type == &#039;array&#039;)&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#123;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $string = &quot;&lt;?php&#92;n return &quot;.var_export($string,TRUE).&quot;;&#92;n?&gt;&quot;;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elseif($type == &#039;constant&#039;)&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#123;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $data=&#039;&#039;;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach($string as $key =&gt; $value) $data .= &quot;define(&#039;&quot;.strtoupper($key).&quot;&#039;,&#039;&quot;.&nbsp;&nbsp;<br/> addslashes($value).&quot;&#039;);&#92;n&quot;;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $string = &quot;&lt;?php&#92;n&quot;.$data.&quot;&#92;n?&gt;&quot;;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp; $strlen = file_put_contents(PHPCMS_CACHEDIR.$file, $string,FILE_APPEND);&nbsp;&nbsp;//最好加上FILE_APPEND，否则tail -f出现<br/>tail: /tmp/friendviews.txt: file truncated&nbsp;&nbsp; 参看：http://www.xiangdong.org/blog/post/1614/<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chmod(PHPCMS_CACHEDIR.$file, 0777);&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return $strlen;&nbsp;&nbsp;<br/>&#125; <br/> </div><br/><br/>可以看到<br/>var_export <br/>解释下<br/>var_export<br/> (PHP 4 &gt;= 4.2.0, PHP 5)<br/>var_export -- 输出或返回一个变量的字符串表示<br/>描述<br/>mixed var_export ( mixed expression [, bool return])<br/><br/>此函数返回关于传递给该函数的变量的结构信息，它和 var_dump() 类似，不同的是其返回的表示是合法的 PHP 代码。<br/><br/>您可以通过将函数的第二个参数设置为 TRUE ，从而返回变量的表示。 <br/>应用场景：<br/>假如我们看到一个数组是多维的，其实通过serialize之后写入文件 读出来之后unserialize也可以，但我们只是想看看数组里面是什么，但又不想打印到页面上。<br/>实例：<br/><br/><br/><div class="code">&lt;?php<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$a = array ( 1 , 2 , array ( &quot;a&quot; , &quot;b&quot; , &quot;c&quot; ));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$file_string = var_export ( $a,True);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var_dump($file_string);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_put_contents(&quot;/tmp/friendviews.txt&quot;,$file_string,FILE_APPEND);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit;<br/><br/>?&gt;</div><br/><br/><div class="code">tail -f /tmp/friendviews.txt</div><br/>结果：<br/>array (<br/>&nbsp;&nbsp;0 =&gt; 1,<br/>&nbsp;&nbsp;1 =&gt; 2,<br/>&nbsp;&nbsp;2 =&gt; <br/>&nbsp;&nbsp;array (<br/>&nbsp;&nbsp;&nbsp;&nbsp;0 =&gt; &#039;a&#039;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;1 =&gt; &#039;b&#039;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;2 =&gt; &#039;c&#039;,<br/>&nbsp;&nbsp;),<br/>)<br/><br/><br/><br/><br/><br/><br/><br/>http_build_query 把数组整成一个get串：<br/><textarea name="code" class="php" rows="15" cols="100">
file_put_contents(&quot;/tmp/jack.txt&quot;, &quot;&#92;n&quot;.http_build_query($arg).&quot;&#92;n&quot;,FILE_APPEND);
</textarea>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [调试日志]用php函数var_export把多维数组file_put_contents写入并打印到日志，以方便调试之多维数组，用php5中的var_export函数示例,顺带介绍http_build_query]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>