.phpファイルのコードは、ブラウザーにそのまま表示されます。XAMPPサーバーでApache2.4を実行していて、機能を追加して<?php phpinfo(); ?>
いるので、phpバージョン5.4も正常に機能していると思います。私のindex.phpファイルは次のようになります。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Something</title>
</head>
<body>
<?php
include 'json_encoded.php';
?>
<script type='text/javascript'>
/* @var $image_urls type */
var jsarray = ["<?php echo join("\", \"", $image_urls); ?>"];
//document.write(getlength(jsarray));
</script>
</body>
</html>
そして私のjson_encoded.phpファイルは次のようになります:
<?php
header("Content-type: text/javascript");
error_reporting(E_ALL);
ini_set('display_errors', '1');
$url = 'some url';
$var = fread_url($url);
preg_match_all ("@((http://web)([-\w]+\.[-\w\.]+)+\w(:\d+)?(/([-\w/_\.]*(\?\S+)?)?)*)@",
$var, $matches);
$matches = $matches[1];
$image_urls = array();
foreach($matches as $var)
{
$var1 = str_replace("/med/", "/lg/", $var);
$image_urls[] = $var1;
}
// The fread_url function allows you to get a complete
// page. If CURL is not installed replace the contents with
// a fopen / fget loop
function fread_url($url,$ref="")
{
if(function_exists("curl_init")){
$ch = curl_init();
$user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; ".
"Windows NT 5.0)";
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt( $ch, CURLOPT_HTTPGET, 1 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION , 1 );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION , 1 );
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_REFERER, $ref );
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
$html = curl_exec($ch);
curl_close($ch);
}
else{
$hfile = fopen($url,"r");
if($hfile){
while(!feof($hfile)){
$html.=fgets($hfile,1024);
}
}
}
return $html;
}
?>
localhostを実行したときの出力:...は次のようになります
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Today's Front Pages</title>
</head>
<body>
<script type='text/javascript'>
/* @var $image_urls type */
var jsarray = [...contents of array];
//document.write(getlength(jsarray));
</script>
</body>
</html>
誰かが私が間違っていることを知っていますか?このトピックに関するいくつかの投稿を見ましたが、それらはすべてphpが正しくインストールされていないことを示していましたが、それは私の場合ではありません。重要な場合は、IDEとしてNetBeans7.2を使用しています。
どんな助けでも大歓迎です。ありがとう!