2014-07-16 72 views
0

我想讀取文件的內容,而做這樣的事情如何從目的地讀取文件到變量?

$con="HDdeltin"; 
$fp = fopen($_SERVER['DOCUMENT_ROOT']. "/HDdeltin/Users/$con", "r"); 
echo $fp; 

它不返回任何東西。我究竟做錯了什麼?

+0

fopen()函數返回一個資源ID,而不是內容。 –

+0

從[fopen()']上的文檔開始(http://us3.php.net/manual/en/function.fopen.php)。它返回一個文件句柄,你必須使用'fread()'或'fgets()'。更可能的是,你不會像['file_get_contents()'](http://php.net/manual/en/function.file-get-contents.php)那樣簡單。 –

回答

0

快速的解決方案:

file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/HDdeltin/Users/HDdeltin"); 

使用file_get_contents(),並可以防止不良網址與realpath()

$con = "HDdeltin"; 
$path = realpath($_SERVER['DOCUMENT_ROOT'] . "/HDdeltin/Users/$con"); 
echo file_get_contents($path); 

爲了得到當前的根,你也可以使用:

查看更多:

+0

作品,謝謝:) – user287210

0

fopen回報的資源,而不是文本

使用file_get_contents($_SERVER['DOCUMENT_ROOT']. "/HDdeltin/Users/$con")代替

0

您可以使用此功能

echo file_get_contents($_SERVER['DOCUMENT_ROOT']. "/HDdeltin/Users/$con"); 
0

您可能需要使用的file_get_contents閱讀。 http://php.net/manual/en/function.file-get-contents.php

下面是他們提供的例子:

// Read 14 characters starting from the 21st character 
$section = file_get_contents('./people.txt', NULL, NULL, 20, 14); 
var_dump($section); 

所以,你可能會需要使用

$fp = file_get_contents($_SERVER['DOCUMENT_ROOT']. "/HDdeltin/Users/$con", true); 
echo $fp; 

有PHP版本之間的一些差異似乎

<?php 
// <= PHP 5 
$file = file_get_contents('./people.txt', true); 
// > PHP 5 
$file = file_get_contents('./people.txt', FILE_USE_INCLUDE_PATH); 
?> 

所以一定要查看提供的第一個鏈接。