繁体   English   中英

php如何在指定目录下创建文件

[英]php how to create file in specific directory

如何在特定目录中创建文件?

这是我目前的代码:

 $username = $_POST["username"]; $filedir = "./u/".$username; mkdir($filedir); $folder = $filedir; chmod($filedir, 0777); $createfile = fopen( $_SERVER['DOCUMENT_ROOT'] . '/path/filename.php' );

我也试过 fopen 但这没有用:(

我知道了!!! 它是

 $createfile = fopen('./u/'.$username.'/'.$username.'.php', 'x');

感谢所有帮助人:) 真的很感激。

答案是这样的:

 $createfile = fopen('./u/'.$username.'/'.$username.'.php', 'x');

感谢所有帮助人:) 真的很感激。

模式必需。 指定对文件/流所需的访问类型。

fopen(filename,mode)


$createfile = fopen($_SERVER['DOCUMENT_ROOT'] . '/path/filename.php',"r"); // read only

可能的值:

  • “r”(只读。从文件开头开始)
  • “r+”(读/写。从文件开头开始)
  • “w”(只写。打开并清除文件的内容;如果不存在则创建一个新文件)
  • “w+”(读/写。打开并清除文件的内容;如果不存在则创建一个新文件)
  • “a”(只写。打开并写入文件末尾,如果不存在则创建一个新文件)
  • “a+”(读/写。通过写入文件末尾来保留文件内容)
  • “x”(只写。创建一个新文件。如果文件已经存在,则返回 FALSE 和错误)
  • “x+”(读/写。创建一个新文件。如果文件已经存在,则返回 FALSE 和错误)

您可以尝试使用这些函数 - 一个递归创建文件夹路径,另一个将在指定路径中创建一个空文件。

/* recursively create folder path */
function createdir( $path=null, $perm=0644 ) {
    if( !file_exists( $path ) ) {
        createdir( dirname( $path ) );
        mkdir( $path, $perm, true );
        clearstatcache();
    }
}

/* create an empty file ensuring that path is constructed */
function createfile( $path=false, $filename=false ){
    if( $path && $filename ){
        createdir( $path );
        file_put_contents( $path . DIRECTORY_SEPARATOR . $filename, '' );
        return true;
    }
    return false;
}


$dir=$_SERVER['DOCUMENT_ROOT'] . '/path/to/dir';
$filename='geronimo.txt';

$result=call_user_func('createfile', $dir, $filename );

我想让那些来这里的人更明显:

“如何在PHP中的特定地址中创建文件”

function createFile($name, $address){
    $createfile = fopen($address.'/'.$name, 'x');
}

就是这样。 此函数将获取您的文件的地址和名称(无论您想怎么称呼它),它会在该确切地址中为您制作

注意:对于那些认为它与其他人的答案相同的人,所以不是,因为我的答案有错误和问题,所以我尝试拆分addressfilename然后解决了我的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM