Запись данных в файл с помощью PHP - PullRequest
20 голосов
/ 20 января 2011

Мне нужно опубликовать данные, используя код ниже, в php файл, который сохранит их в текстовом файле.Я просто не знаю, как создать php-файл, чтобы получить данные ниже и сохранить их в текстовом файле.как можно проще.

try {  
    // Add your data  
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);  
    nameValuePairs.add(new BasicNameValuePair("stringData", "12345"));  
    nameValuePairs.add(new BasicNameValuePair("stringData", "AndDev is Cool!"));  
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));  

    // Execute HTTP Post Request  
    HttpResponse response = httpclient.execute(httppost);  
    String responseText = EntityUtils.toString(response.getEntity()); 
    tv.setText(responseText);             
} catch (ClientProtocolException e) {  
    // TODO Auto-generated catch block  
} catch (IOException e) {  
    // TODO Auto-generated catch block  
}  

Ответы [ 2 ]

61 голосов
/ 20 января 2011

Простой как:

file_put_contents('test.txt', file_get_contents('php://input'));
15 голосов
/ 20 января 2011

1) В PHP для получения данных POST из входящего запроса используйте массив $ _POST.Массив POST в PHP является ассоциативным, что означает, что каждый входящий параметр будет парой ключ-значение.В процессе разработки полезно понять, что вы на самом деле получаете в $ _POST.Вы можете вывести содержимое, используя printf () или var_dump (), как показано ниже.

var_dump($_POST);

- или -

printf($_POST);

2) Выберите полезный формат на основе строкихранение данных.В PHP есть функция serialize (), которую вы можете использовать, чтобы превратить массив в строку.Также легко превратить массив в строку JSON.Я предлагаю использовать JSON, поскольку естественно использовать эту нотацию на разных языках (в то время как использование сериализации PHP несколько связывает вас с использованием PHP в будущем).В PHP 5.2.0 и выше встроена функция json_encode ().

$json_string = json_encode($_POST);

// For info re: JSON in PHP:
// http://php.net/manual/en/function.json-encode.php

3) Сохраните строку в файле.Попробуйте использовать fopen (), fwrite () и fclose (), чтобы записать строку json в файл.

$json_string = json_encode($_POST);

$file_handle = fopen('my_filename.json', 'w');
fwrite($file_handle, $json_string);
fclose($file_handle);

// For info re: writing files in PHP:
// http://php.net/manual/en/function.fwrite.php

Вы захотите найти конкретное расположение и методологию для путей к файлам ииспользуемые имена файлов.

Примечание. Существует также возможность получения тела POST HTTP-запроса напрямую с использованием $ HTTP_RAW_POST_DATA.Необработанные данные будут закодированы в формате URL, и это будет строка, которую вы можете записать в файл, как описано выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...