Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在从一个小部件移动到另一个插件之前,文件内容一直工作得很好_Php_Json_Wordpress - Fatal编程技术网

Php 在从一个小部件移动到另一个插件之前,文件内容一直工作得很好

Php 在从一个小部件移动到另一个插件之前,文件内容一直工作得很好,php,json,wordpress,Php,Json,Wordpress,我成功地构建了一个WordPress小部件,当页面刷新时,它可以通过JSON文件中的URL下载.csv文件。小部件工作得很好;每次刷新页面时,都会从JSON中的URL下载.csv文件 现在,我从小部件中获取代码,并将其粘贴到插件中,该插件每天通过cron作业执行相同的操作。不幸的是,当由cron作业触发时,完全相同的代码现在无法工作 由于安全原因,我无法发布所有代码,下面是我遇到错误的摘录 /* ISOLATE CSV LINK PULLED FROM JSON */ $

我成功地构建了一个WordPress小部件,当页面刷新时,它可以通过JSON文件中的URL下载.csv文件。小部件工作得很好;每次刷新页面时,都会从JSON中的URL下载.csv文件

现在,我从小部件中获取代码,并将其粘贴到插件中,该插件每天通过cron作业执行相同的操作。不幸的是,当由cron作业触发时,完全相同的代码现在无法工作

由于安全原因,我无法发布所有代码,下面是我遇到错误的摘录

/* ISOLATE CSV LINK PULLED FROM JSON */
            $phpObj = json_decode($response);
            if (json_last_error() !== 0) {
                echo json_last_error_msg();
            } else {
                print_r($phpObj, true);
                $csvURL = $phpObj->result->location;
            }

            /* DOWNLOAD CSV FILE */

            $file_name = "filteredList" . $listLabelArray[$i] . ".csv";

            $info = pathinfo($file_name);

            if ($info["extension"] == "csv") {
                if(file_put_contents( "wp-content/plugins/finder-autoupdate/" . $file_name,
                    file_get_contents($csvURL))) {
                    echo nl2br($file_name ." downloaded successfully!\n");
                }
                else {
                    echo "File download failed.";
                }
            }
            else echo "Sorry, that's not a csv file";
以下是调试控制台:

10-Jun-2021 16:59:39 UTC] PHP Warning:  file_put_contents(wp-content/plugins/finder-autoupdate /filteredListVA0002019921.csv):
failed to open stream: No such file or directory in /sites/[REDACTED].com/files/wp-
content/plugins/finder-autoupdate/finder-autoupdate.php on line 135

在研究了这个之后,调试控制台中列出的路径不应该包括finder-autoupdate.php吗,因为这是插件的php文件?路径应该只是将
filteredListVA0002019921.csv
放在文件夹
/sites/[REDACTED].com/files/wp content/plugins/finder autoupdate/
中,通过插件“Advanced cron Manager”手动运行cron作业会导致该故障。当cron作业自动运行时,没有问题。解决了

您可以尝试使用WP\u CONTENT\u DIR而不是使用相对链接吗?如果它一直工作到你移动它,我要检查的第一件事是链接现在是否断开了。@JosephOdom谢谢你的回复!事实证明,只有在我使用插件“高级cron管理器”手动触发cron作业时,问题才会显现出来。我今天早上让cron作业自动运行,一切正常。服务器上是否存在文件
wp content/plugins/finder autoupdate/filteredListVA0002019921.csv
?您意识到文件路径是相对于当前工作目录和/或当前脚本位置的,所以请检查这些values@Martin是的。我相信手动运行cron的插件在某种程度上破坏了下载,但只要我等待cron作业实际运行,现在一切都正常,这就是我希望插件如何工作的方式。