当我尝试让我们使用file_get_contents时,它会向我显示此错误
我做错了什么?
我不能这样做:
<?php
function getWeather_PHP($location) {
$l_location = (string)$location;
$url = "http://api.openweathermap.org/data/2.5/weather?".$l_location."&lang=en&units=metric&appid=MY_API_KEY";
$url = (string)$url;
$contents = file_get_contents($url); //error occur here
...
return weather_data;
?>
在同一php文件中的脚本中
<script>
var inputString = "PLACE_LOCATION"
var php_result = "<?php
$php_inputString = '"+inputString+"';
echo getWeather_PHP($php_inputString);
?>";
</script>
错误是: enter image description here
我收到的另一个错误报告是
警告:file_get_contents(“ + this_url +”):无法打开流:的 /opt/lampp/htdocs/Index.php 中没有此类文件或目录50
答案 0 :(得分:0)
var php_result = "<?php
$php_inputString = '"+inputString+"';
echo getWeather_PHP($php_inputString);
?>";
早在Javascript运行之前,就已经在服务器上评估了PHP。 PHP解释器直接输出<?php … ?>
标记之外的所有内容,而无需以任何方式对其进行解释。
从PHP的角度来看,$php_inputstring
设置为文字文本"+inputString+"
。这导致getWeather_PHP()
试图获取城市"+inputString+"
的天气,但失败了。
如果需要getWeather_PHP()
函数可从Javascript调用,则需要将其公开为单独的AJAX端点。您无法以这种方式使Javascript和PHP互通。