Php 使用fwrite将文件保存到新目录

Php 使用fwrite将文件保存到新目录,php,fopen,fwrite,fclose,Php,Fopen,Fwrite,Fclose,我有一个简单的PHP脚本,它可以将文件写入所在的目录,但需要将其写入名为“temp”的目录 关于这个问题这里有很多答案,但似乎找不到我需要的。修订iewedhttp://us2.php.net/manual/en/function.fwrite.php 没有运气 以下是没有表单部分的基本PHP: <?php function saveFile($filename,$filecontent){ if (strlen($filename)>0){ $file =

我有一个简单的PHP脚本,它可以将文件写入所在的目录,但需要将其写入名为“temp”的目录

关于这个问题这里有很多答案,但似乎找不到我需要的。修订iewedhttp://us2.php.net/manual/en/function.fwrite.php 没有运气

以下是没有表单部分的基本PHP:

<?php

function saveFile($filename,$filecontent){
    if (strlen($filename)>0){
        $file = @fopen($filename,"w");
        if ($file != false){
            fwrite($file,$filecontent);
            fclose($file);
            return 1;
        }
        return -2;
    }
    return -1;
}

?>

这将显示在/form标记下面:

<?php    

    if (isset($_POST['submitBtn'])){
        $filename    = (isset($_POST['filename']))    ? $_POST['filename']    : '' ;
        $filecontent = (isset($_POST['filecontent'])) ? $_POST['filecontent'] : '' ;

?>

然后:

<?php

        if (saveFile($filename,$filecontent) == 1){
            echo "<tr><td><br/>File was saved!<br/><br/></td></tr>";
        } else if (saveFile($filename,$filecontent) == -2){
            echo "<tr><td><br/>An error occured during saving file!<br/><br/></td></tr>";
        } else if (saveFile($filename,$filecontent) == -1){
            echo "<tr><td><br/>Wrong file name!<br/><br/></td></tr>";
        }

?>


感谢您的输入。

您应该检查文件夹是否存在,如果不存在,请创建它。您的代码应该如下所示:

$tempFile = fopen( "temp/filename", "w" );
fwrite( $tempFile, $filecontent );
<?php

function saveFile($filename,$filecontent){
    if (strlen($filename)>0){
        $folderPath = 'temp';
        if (!file_exists($folderPath)) {
            mkdir($folderPath);
        }
        $file = @fopen($folderPath . DIRECTORY_SEPARATOR . $filename,"w");
        if ($file != false){
            fwrite($file,$filecontent);
            fclose($file);
            return 1;
        }
        return -2;
    }
    return -1;
}

?>

此外,我还改进了代码的另一部分,以避免在出现问题时多次调用该函数

<?php
        $fileSavingResult = saveFile($filename, $filecontent);
        if ( fileSavingResult == 1){
            echo "<tr><td><br/>File was saved!<br/><br/></td></tr>";
        } else if (fileSavingResult == -2){
            echo "<tr><td><br/>An error occured during saving file!<br/><br/></td></tr>";
        } else if (fileSavingResult == -1){
            echo "<tr><td><br/>Wrong file name!<br/><br/></td></tr>";
        }

?>


谢谢Andrej。获取错误“解析错误:语法错误,第6行出现意外“{”。脚本的第一部分位于页面顶部。第6行是:如果(!file_存在($folderPath){@Woody,它已修复。再次感谢@Andrej。错误已修复!在成功创建/上载文件后未获取回显消息,但将研究原因。