带有特殊字符的PHP生成目录(mkdir)

带有特殊字符的PHP生成目录(mkdir),php,directory,mkdir,Php,Directory,Mkdir,我在网上搜索了很多次,但都没有找到正确的答案,所以问题是——这可能吗 我正在使用以下代码: $file = $_POST['file_path']; $content = $_POST['file_content']; //get vars from post $path = explode("/",$file); $path_start = $path[0]."/".$path[1]; //define path_start $i = 1; while ($file != $path_st

我在网上搜索了很多次,但都没有找到正确的答案,所以问题是——这可能吗

我正在使用以下代码:

$file = $_POST['file_path'];
$content = $_POST['file_content'];
//get vars from post

$path = explode("/",$file);
$path_start = $path[0]."/".$path[1];
//define path_start

$i = 1;
while ($file != $path_start) {
if (!file_exists($path_start)) {
    mkdir($path_start,0777); 
}//end if
$i++;
$path_start = $path_start."/".$path[$i]; 
} //end while

if (isset($file) && isset($content)) {
    if (file_exists($file)) {
    unlink($file);
    } // file does not exist ... not anymore anyways
    $fp = fopen($file, 'w+');
    fwrite($fp,$content);
    fclose($fp);
    echo "The path is ".$file;
    } else {
    echo "Error!";
}
因此,$file包含完整路径,包括以下名称:

.\comment\Folderč\Folderž\Folder\File22.txt

代码运行良好,将其拆分为多个部分,但问题是。。。创建文件夹名称为的文件夹。我不能简单地使用任何类型的替换字符函数,因为所有其他文件都取决于已经设置的变量(这是很多文件)。

那么,是否有任何mkdir模式来创建具有特殊字符的文件夹?

感谢您的反馈

尝试使用like


我建议您不要使用UTF-8/特殊字符创建文件或文件夹。使用ANSI编码的非特殊字符文件夹。不仅PHP可能会遇到麻烦,还有顺序程序、内核、操作系统,这不是一个好的做法,我可以想象由于多字节字符等原因会遇到文件系统问题。唯一正确的答案是:不要这样做!
$file = utf8_encode($_POST['file_path']); // use utf8-encode here
$content = $_POST['file_content'];
//get vars from post

$path = explode("/",$file);
$path_start = utf8_encode($path[0]."/".$path[1]); // use utf8-encode here
//define path_start

$i = 1;
while ($file != $path_start) {
    if (!file_exists($path_start)) {
        mkdir($path_start,0777); 
    }//end if
    $i++;
    $path_start = utf8_encode($path_start."/".$path[$i]); // use utf8-encode here
} //end while

// your remaining code here