2013-12-05 9 views
0

Я пытаюсь использовать jquery, ajax и PHP для добавления символов в текстовый файл. POST-вызов ajax возвращается успешно, но функция PHP не выполняется. Кто-нибудь видит мою ошибку? Обходной путь?javascript добавление/удаление в/из текстового файла

<html> 
<head> 
<title>AjaxSend</title> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script> 
<script> 
$(function() { 

$(".update_button").click(function() { 
    {  
     $.ajax({ 
     type: "POST", 
     url: "changetext.php", 
     cache: false, 
     success: function(html){ 
      alert('You were successful'); 
      } 
     }); 
    } return false; 
}); 

}); 
</script> 
</head> 
<body> 

<button class="update_button">Put File</button> 

</body> 
</html> 

PHP:

<?php 

file_put_contents('test.txt','Text to be added'); 

?> 
+1

Это может быть связано с правами доступа к файлам. Вы можете попробовать file_put_contents ('test.txt', 'Text to add added') или die ('Произошла ошибка'); чтобы узнать, является ли это причиной. – Seth

+0

Что сказал @Seth, обязательно сообщите (html) об успехе, чтобы вы могли записать содержимое changetext.php, если произошла ошибка. –

+0

Попробуйте применить 'FILE_APPEND' как третий параметр к' file_put_contents() ' – SquareCat

ответ

0

1. Проверьте, если файл существует, но не обновляется

Попробуйте применить FILE_APPEND в качестве третьего параметра file_put_contents()

2. Проверьте свои права.

Убедитесь, что у вас есть доступ на запись в директории, которую вы пишете test.txt. Учитывая ваш представленный код, это, скорее всего, будет корневым каталогом, в котором хранится ваш PHP-скрипт.

3. Обновление разрешений и выбрать директорию для записи

Создайте директорию (прямо там, где сценарий changetext.php хранится в). Дайте ему любое имя, например: output

Затем установите права доступа в директорию на 777 и изменить changetext.php к этому:

file_put_contents('output/test.txt','Text to be added', FILE_APPEND); 
Смежные вопросы