1

回答:Curlを使用して実装されています...

$file = "http://abc.com/data//output.txt";
$ch = curl_init($file);
$fp = @fopen("out.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
$file = "out.txt";
$fp = fopen($file, "r");

別のサーバーでホストされているパイプ区切りのテキストファイルからデータを解析しようとしています。このファイルはデータベースに挿入されます。私のホスト(1and1)はphp.iniでallow_url_fopenを無効にしたと思います。

エラーメッセージ :

Warning: fopen() [function.fopen]: URL file-access is disabled in the server configuration in

コード:

    <?


// make sure curl is installed
if (function_exists('curl_init')) {
   // initialize a new curl resource
   $ch = curl_init(); 

   // set the url to fetch
   curl_setopt($ch, CURLOPT_URL, 'http://abc.com/data/output.txt'); 

   // don't give me the headers just the content
   curl_setopt($ch, CURLOPT_HEADER, 0); 

   // return the value instead of printing the response to browser
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

   // use a user agent to mimic a browser
   curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0'); 

   $content = curl_exec($ch); 

   // remember to always close the session and free all resources 
   curl_close($ch); 
} else {
   // curl library is not installed so we better use something else
}

//$contents = fread ($fd,filesize ($filename));

//fclose ($fd); 
$delimiter = "|";
$splitcontents = explode($delimiter, $contents);
$counter = "";
?>
<font color="blue" face="arial" size="4">Complete File Contents</font>
<hr>
<?
echo $contents;
?>

<br><br>
<font color="blue" face="arial" size="4">Split File Contents</font>
<hr>
<?
foreach ( $splitcontents as $color )
{

$counter = $counter+1;
echo "<b>Split $counter: </b> $colorn<br>";
}

?>

Wordpressにはこのクールなhttp.phpファイルがあります。それを行うためのより良い方法はありますか?そうでない場合、このタスクにhttp.phpを使用するにはどうすればよいですか?君たちありがとう..

4

1 に答える 1

1

file_get_contents()、または CURL ライブラリを試してください。

この記事にはいくつかの例があります: PHP を使用したリモート ファイルの読み取り

于 2010-03-22T15:36:31.197 に答える