Сценарий для записи файла htaccess с добавлением фантомного неизвестного символа, вызывающего ошибку 500

Я пишу виджет, который позволяет администратору управлять htaccess file из администрирования. Сценарий добавляет фантомный символ, отображаемый как пространство в генерируемом htaccess code , который выдает ошибку 500.

ЗДЕСЬ КОД:

 # block/allow users by ip if(!empty($block_ips) || !empty($allowed_ips)){ $htaccess_code .= "#Block-Allow users by IP \r\n"; $htaccess_code .= "order allow,deny \r\n"; } if(!empty($block_ips)){ $the_ips = explode(',',$block_ips); foreach($the_ips as $the_ip){ $htaccess_code .= "deny from ".trim($the_ip)." \r\n"; } } if(!empty($allowed_ips)){ $the_ips = explode(',',$allowed_ips); foreach($the_ips as $the_ip){ $htaccess_code .= "allow from ".trim($the_ip)." \r\n"; } } $htaccess_code .= "allow from all \r\n"; $htaccess_code .= " \r\n"; 

КОТОРЫЕ ПРОИЗВОДИТСЯ:

 #Block-Allow users by IP order allow,deny deny from 000.000.111.111 deny from 444.444.555.555 allow from 444.433.555.555 allow from 010.000.111.111 allow from all 

В конце каждой строки есть символ пространства / фантома. Если во время ошибки 500 я удаляю редактирование пространства в прямом эфире через FTP и сохраняю htaccess file а затем обновляю всю страницу.

Если я удалю пробел в коде, как показано ниже, а затем запустите код, произойдет ошибка 500.

 # block/allow users by ip if(!empty($block_ips) || !empty($allowed_ips)){ $htaccess_code .= "#Block-Allow users by IP\r\n"; $htaccess_code .= "order allow,deny\r\n"; } if(!empty($block_ips)){ $the_ips = explode(',',$block_ips); foreach($the_ips as $the_ip){ $htaccess_code .= "deny from ".trim($the_ip)."\r\n"; } } if(!empty($allowed_ips)){ $the_ips = explode(',',$allowed_ips); foreach($the_ips as $the_ip){ $htaccess_code .= "allow from ".trim($the_ip)."\r\n"; } } $htaccess_code .= "allow from all\r\n"; $htaccess_code .= "\r\n"; 

Я не уверен, куда идти отсюда … любая помощь была бы весьма признательна.

Пит

Solutions Collecting From Web of "Сценарий для записи файла htaccess с добавлением фантомного неизвестного символа, вызывающего ошибку 500"