gpt4 book ai didi

javascript - 使用 fopen() 将文件内容从 PHP 回显到 javascript,file_exists() 不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 12:36:14 25 4
gpt4 key购买 nike

我知道有很多不同的帖子与此相关,但似乎没有一个帖子有帮助。

我试过输入

include_path=".:/path/to/dir"

连同

safe_mode_exec_dir=".:/path/to/dir"

进入 php.ini。我试过打开 safe_mode,将 allow_url_fopen 设置为 On,然后将 ftp://放在路径前面,但没有 ftp://。我尝试过使用多种不同的方式打开它,包括...

$folder = $_GET['dir'];

$path = $folder;

$file = fopen($path, 'r');

$lines = array();

while(!feof($file)){
$lines[] = fgets($file);
}
fclose($file);

$lines = explode("\n", file_get_contents('doc.txt'));

我已经尝试在/var/www/html 下将权限设置为 777,并在/home/pi/下的另一个目录上设置权限

似乎没有任何效果。

所以。我完全没有想法。请在我的头部撞击变得危险之前提供帮助。

这是我正在尝试做的代码...

<?php
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';

echo '<response>';

$folder = $_GET['dir'];

$path = $folder."/myfile.txt";

$file = fopen($path, 'r');

$lines = array();

while(!feof($file)){
$lines[] = fgets($file);
}
fclose($file);

for($x = 0; $x < sizeof($lines); $x++){
echo $lines[$x];
}

echo '</response>';
?>

xmlHttp = createXmlHttpObject();
xmlHttp.open("GET", "getClientData.php?folder="+dir, false);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && (xmlHttp.status == 200 || xmlHttp.status == 206)) {
xmlResponse = xmlHttp.responseXML;
xmlDocumentElement = xmlResponse.documentElement;
var message = xmlDocumentElement.firstChild.textContent;
}
};
xmlHttp.send();

我正在 Raspberry Pi 3 B 型 Rasbian Jessie 上运行它,如果这与它有任何关系的话。和 Apache2。

有趣的是,当我稍微更改 php 文件以使用 if/else 语句,如“if(file_exists($path)){}else{echo "null"}”时,如果我调用 alert( ) 在来自输入的 javascript 中,我确实得到了“null”。这就是为什么我的第一个假设是文件权限或 php.ini 设置。

最佳答案

所以我已经解决了。我会详细说明我是如何解决的。

首先,请确保 allow_url_fopen 处于开启状态并关闭 safe_mode。查看 Apache2 php.ini 和常规 php.ini,因为它们有两个,我相信必须设置两者才能使其工作。如果你在你的平台上安装了带有 apache2 的 php,那么两个 php.ini 文件都应该在“/etc/php5”下。将有一个名为“apache2”和“cli”的文件夹。每个都有一个文件。

其次,Chrome 网络开发工具非常棒。在 Chrome 打开的情况下按 F12 并转到“网络”选项卡。选项卡顶部将有一个复选框,上面写着“禁用缓存”。这可确保 Chrome 不会缓存您对网站所做的更改的结果。保持此窗口打开,因为如果您关闭它,它不会再禁用缓存!!!您还可以下载类似“缓存 killer ”的 Chrome 扩展,它同样会禁用缓存结果。此外,对于 CWDT,控制台选项卡是一个调试奇迹。我一直在 Aptana 上对站点进行编程,它一点也不擅长注意到小的分号或括号错误。使用这个工具!它会像救我一样救你的命!!

如果我没有详细解释,请提出问题或意见。

关于javascript - 使用 fopen() 将文件内容从 PHP 回显到 javascript,file_exists() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41683941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com