Используя PHP, я записываю содержимое в файл .htaccess
, используя fwrite
, все это работает правильно, но когда я просматриваю .htaccess
в Vim впоследствии, он отображает ^ M в конце каждой добавленной строки,Это, кажется, не вызывает никаких проблем, но я не уверен, что именно происходит, и может ли это быть предотвращено?
это PHP:
$replaceWith = "#SO redirect_301\n".trim($_POST['redirect_301'])."\n#EO redirect_301";
$filename = SITE_ROOT.'/public_html/.htaccess';
$handle = fopen($filename,'r');
$contents = fread($handle, filesize($filename));
fclose($handle);
if (preg_match('/#SO redirect_301(.*?)#EO redirect_301/si', $contents, $regs)){
$result = $regs[0];
}
$newcontents = str_replace($result,$replaceWith,$contents);
$filename = SITE_ROOT.'/public_html/.htaccess';
$handle = fopen($filename,'w');
if (fwrite($handle, $newcontents) === FALSE) {
}
fclose($handle);
Когда я проверяюпотом в Vim я увижу что-то вроде этого:
#SO redirect_301
Redirect 301 /from1 http://www.domain.com/to1^M
Redirect 301 /from2 http://www.domain.com/to2^M
Redirect 301 /from3 http://www.domain.com/to3
#EO redirect_301
На сервере работает CentOS, и я работаю локально на Mac