我对mkdir有点意见
我在windows上使用windows,当我尝试创建一个directory时,它返回的不像应该是,例如
mkdir(JPATH_SITE.'/images/projects/'.$region_folder.'/'.$project_folder, 0777, true);应该返回类似的东西
/images/projects/Ленинградская_область/Ленинградская_область_1但是创建一个directory,如:
/images/projects/Ленинградская_область/Ленинградская_область_1是关于编码的?还是和操作系统有关?
发布于 2015-10-23 09:53:40
Windows文件名不是用utf8编码的,而是在windows-1252或windows-1251中编码的。
试试这个:
$dirname = JPATH_SITE.'/images/projects/'.$region_folder.'/'.$project_folder;
//replace "UTF-8" with the respective input charset, if it is not utf8
$dirname = iconv("UTF-8","Windows-1252",$dirname);
mkdir($dirname, 0777, true);
//if this doesnt work, try another charset like this:
$dirname = iconv("UTF-8","Windows-1251",$dirname);
//you can also use iconv on your russian variables only
//remember that you might need to change UTF-8 to another input charset
$region_folder = iconv("UTF-8","Windows-1251",$region_folder);
$project_folder = iconv("UTF-8","Windows-1251",$project_folder);在这里阅读更多关于iconv的信息:()
对于检测字符集编码也很有用:编码()
https://stackoverflow.com/questions/33299404
复制相似问题