我在网上搜索并没有得到正确的答案,所以问题是 - 它甚至可能吗?
我使用以下代码:
$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 包含完整路径,包括名称,如:
\评论\Folderč\Folderž\文件夹\ File22.txt
代码工作正常,将其分成几部分,但问题是...用Folderč名称创建文件夹。我根本无法使用任何类型的替换字符函数,因为所有其他文件都取决于已设置的变量(这就是很多文件)。
那么有没有 mkdir 模式来创建具有特殊字符的文件夹?
感谢您的反馈
答案 0 :(得分:2)
尝试使用utf8-encode()之类的,
$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