#php #html #save
#php #HTML #Сохранить
Вопрос:
Я хочу заменить определенные строки в php-файле, вызвав функцию. Все, что я получил до сих пор, это:
function change_data($data1, $data2)
{
//Read php file in $result
$result= str_replace("tag1", $data1, $result);
$result= str_replace("tag2", $data2, $result);
//Save php file
}
Можете ли вы мне помочь и сохранить ли его, чтобы никто другой не мог получить доступ к файлу?
Редактировать: я попробовал следующее:
function change_data($data1, $data2)
{
$file = 'test.php';
$result = file_get_contents($file);
//Replace initial with test
$result = str_replace("intial", "test", $result);
file_put_contents($file, $result);
}
В файле ничего не меняется.
Ответ №1:
Посмотрите на функции file_get_contents()
для чтения и file_put_contents()
записи файлов из файловой системы и в файловую систему.
Комментарии:
1. Похоже, это не работает для меня, я отредактировал свой вопрос, чтобы показать, что я сделал
Ответ №2:
это сохранить, чтобы никто другой не мог получить доступ к файлу?
Это может быть очень эффективным способом защиты вашего каталога. Любой другой каталог в public_html может быть защищен таким же образом. Этот метод работает только в том случае, если вам назначен статический IP-адрес. Любой, кто попытается просмотреть такие каталоги, используя другой IP-адрес, получит ошибку 403 Forbidden.
- В каталоге, который вы хотите защитить, откройте (или создайте) файл с именем .htaccess . (Обратите внимание на точку в начале имени файла.)
- Добавьте следующий код в этот файл, заменив 100.100.100.100 в этом примере статическим IP-адресом, который вы планируете разрешить:
Запретить заказ, разрешить запретить для всех Разрешить с 100.100.100.100
Ответ №3:
function change_data($data1, $data2)
{
$file = 'change_this_with_filename';
$result = file_get_contents($file);
$result = str_replace(array("tag1", "tag2"), array($data1, $data2), $result);
file_put_contents($file, $result);
}