我正在尝试使用file_get_contents
打开文件。该文件包含"
和其他特殊字符。当我尝试在echo $file_contents
中使用PHP
输出该文件的内容时,操作失败并出现Unexpected token
错误。
以下是获取错误的代码:
<?php
//the function below displays data from bbMainPage javascript.
function getDataFromLibrary() {
$tgt_url = $_GET["tgt_url"];
$file_contents = file_get_contents($tgt_url);
//echo $tgt_url;
//echo $file_contents;
var_dump($file_contents);
//return $tgt_url;
}
?>
javascript中的代码:
<html>
<head>
<style>
.hlight{background-color:#ffcc00;}
textarea {
width:100%;
height:100%;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
//mention all global variables here.
console.log("this is the start of javascript");
//get all data from the previous script.
var fileContents = "<?php getDataFromLibrary(); ?>";
var tgtURL = <?php echo json_encode($tgt_url); ?>;
console.log("URl obtained = " + tgtURL);
console.log("Text obtained = " + fileContents); //this is where it fails.
</script>
</head>
</html>
答案 0 :(得分:0)
如果要打开包含特殊字符(例如空格)的URI,则需要使用urlencode()对URI进行编码。
答案 1 :(得分:0)
PHP在读取utf-8编码文件并将其发送到浏览器时似乎没有任何问题。我只是做了一个快速检查来验证它。您确定要在浏览器的标题中发送正确的字符集类型吗
header('Content-Type: text/html; charset=UTF-8');
答案 2 :(得分:0)
您需要目标网址的数据。目标网址应该包含特殊字符。首先对目标网址进行编码,然后您就可以获取该文件的内容。
否则,如果您的文件中存在问题,那么您应该在处理之前重新检查该文件。