PHP文件附加问题

PHP文件附加问题,php,append,Php,Append,我编写了一个脚本,打算修改一个文本文件,但在将文本写入该文件时出现了一个问题。 这个脚本看起来有点不合常规,因为我已经对它进行了几次编辑,试图找到一个解决方案。问题在于实际的追加过程,我接收通过脚本的echo部分输入的文本,所以这不是问题所在 <?php $text=$_POST['typer']; echo $text; function write(){ global $text; $myfile = fopen('text.txt','a'); fwrite(

我编写了一个脚本,打算修改一个文本文件,但在将文本写入该文件时出现了一个问题。 这个脚本看起来有点不合常规,因为我已经对它进行了几次编辑,试图找到一个解决方案。问题在于实际的追加过程,我接收通过脚本的echo部分输入的文本,所以这不是问题所在

<?php
$text=$_POST['typer'];
echo $text;
function write(){
    global $text;
    $myfile = fopen('text.txt','a');
    fwrite($myfile, $text);
    fclose($myfile);
}
write()
?>

您可以将$text作为参数传递。不需要全局的

<?php
$text=$_POST['typer'];
echo $text;
write($text);

function write( $text ) {
    $myfile = fopen('text.txt','a');
    fwrite($myfile, $text);
    fclose($myfile);
}
?>

要使其与globals一起工作,您需要使用
$globals[“text”]
而不是
global$text

,这应该可以:

<?php
$text=$_POST['typer'];
echo $text;
function write($text) {
    $myfile = fopen('text.txt','a');
    fwrite($myfile, $text);
    fclose($myfile);
}
write($text);
?>

否则,请配置错误日志记录,并查看是否还有其他问题

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
    $text=$_POST['typer'];
    echo $text;
    function write($text) {
        $myfile = fopen('text.txt','a');
        fwrite($myfile, $text);
        fclose($myfile);
    }
    write($text);
    ?>


根据我的经验,这通常是一个权限问题,而您试图写入的文件没有必要的权限来允许您打开和写入它。

那么,问题是什么?它只是不向文件写入任何内容?是否有错误?调用
write()后缺少分号//@Steve我也注意到了这一点,但PHP不会自动在脚本末尾或结尾的
?>
标记处添加一个吗?输入错误,它在实际的脚本中,而在屏幕截图中没有。无论如何,请打开错误报告并用实际的完整错误代码编辑您的问题-否则我们只是在浪费时间猜测。这是真的,在我看来是一种更好的方法,但理论上它也应该适用于全局,所以一定有其他事情发生。在答案中添加了全局