2011-03-19 18 views
0

昨天我去了一个PHP面试和面试官只是问了我一个问题,访员 - 我不会重复这个问题,所以要小心。如何打印在其中写入的所有文本(全部)的PHP文件?

介绍自己
记者后 - 我就不重复了我的第一个和最后一个问题,所以要小心。如何打印一个PHP文件的所有文本(全部)编码在其中?

我回答道:我试图告诉我会写整个代码<code><?php ?></code>标签面试官回答这个问题,这就是我可以在那个时候想到的。

访问者 - 你确定!

我没有回复。
记者 - 感谢您(不满意的表情)

猜我没有选择。我搜索了它也问了我的朋友,但我没有得到答案。
任何人都可以回答它。
请请。请。我想知道答案。

感谢面试官,他给了我很好的问题要问上SO

+0

你是否在家试过你的答案? – 2011-03-19 07:32:58

+0

整个采访是基于这个问题?真的吗?哇。无论如何,你可能不希望在那里工作。 – Spot 2013-10-15 01:57:34

回答

6
echo "<pre>"; 
echo htmlentities(file_get_contents($_SERVER['PHP_SELF'])); 
echo "</pre>"; 

这将得到我们在抓取它的内容的文件的名称,然后将其显示在页面上写入。

+0

最后)最后的结果是什么; P – 2011-03-19 05:38:29

+0

@劳伦斯,你在说什么,它在那里;)好的。 – RDL 2011-03-19 05:40:33

+0

我需要这样做echo htmlentities(file_get_contents('。'。$ _ SERVER ['PHP_SELF']));因为php_self返回/scriptname.php不./scriptname这就是为什么我用SCRIPT_FILENAME lol – 2011-03-19 05:42:48

1

访问相应的项目中$_SERVER找出当前脚本的名称,然后使用PHP的文件函数来显示文件的内容。

1

这是更好的方式

echo highlight_string(file_get_contents($_SERVER['SCRIPT_FILENAME'])); 
1
<?php 
    $file = new SplFileObject(__FILE__); 
    $file->fpassthru(); 
?> 
+0

巧合的是,我现在正在使用'SplFileObjects',并且这个例子粗略地(逐行代替)在手册中。 – 2011-03-19 05:58:03

3

我觉得面试官指的是highlight_file功能。

+0

+1谢谢highlight_file – Wazzzy 2011-03-21 07:44:53

2
<?php echo file_get_contents(__FILE__); ?> 

这是满足面试官要求的最基本的答案。我会跟进一个澄清的问题,询问他们是否需要更漂亮的显示。

+0

+1小而甜的回答。谢谢 – Wazzzy 2011-03-22 04:16:18

相关问题