PHP Read Write File - PullRequest
       3

PHP Read Write File

2 голосов
/ 21 ноября 2010

Oops! Я понял. Пришлось снять косые черты ...

Здравствуйте, у меня есть следующий код для редактирования моего файла конфигурации в браузере. Содержимое файла извлекается и отображается в текстовом поле. Затем изменения сохраняются обратно в файл. Все отлично работает на моей машине для разработки, но в моей учетной записи хостинга это не работает.

Когда я сохраняю файл, все одинарные кавычки перезаписываются с добавлением обратной косой черты перед ними.

Как я могу изменить свой код, чтобы предотвратить это? Спасибо!

<?php
// button javascript
$save_changes_js = "return confirm('Do you want to SAVE the CHANGE(S)?');";

// open web config
$filename = ROOT_PATH.'web.config.php';
$contents = file_get_contents($filename);

if(isset($_POST['txbConfig']) && !empty($_POST['txbConfig']))
{
    // save changes to file
    $changes = $_POST['txbConfig'];
    file_put_contents($filename,$changes);

    // refresh page
    $destination_url = SITE_URL.'admin/edit-config.php';
    header('Location:'.$destination_url);
}
?>

<form action="" method="post" name="editConfig" class="htmlForm">
  <div class="editConfigWrap">
    <textarea name="txbConfig"><?php echo $contents ?></textarea>
  </div>
  <input name="submit" type="submit" value="Save Changes" class="gvbtn" onclick="<?php echo $save_changes_js; ?>">
</form>

Ответы [ 2 ]

0 голосов
/ 21 ноября 2010

Это происходит потому, что у вашего провайдера по-прежнему Магические кавычки включены. В идеале попросите их отключить его или найдите способ настроить его для своей учетной записи.

Если это невозможно, вам нужно использовать stripslashes или эквивалентный. Смотрите этот другой вопрос: Как отключить магические кавычки на виртуальном хостинге?

0 голосов
/ 21 ноября 2010

У вас есть 'магические кавычки' . Они совсем не магия.

Вы можете обнаружить этот параметр и отменить магию, проверив его с помощью get_magic_quotes_gpc или get_magic_quotes_runtime , например,

$value=get_magic_quotes_gpc()?stripslashes($_REQUEST['value']):_REQUEST['value'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...