2012-02-28 5 views
-3

Я искал по всему Интернету, как я могу получить содержимое веб-страницы, а затем использовать эту информацию и добавить ее в базу данных. Наконец я нашел get_file_contents. За исключением того, что мне нужно не только взять все содержимое, я также должен иметь возможность переводить информацию в переменные для добавления в базу данных. Он также должен поддерживать несколько человек, которые будут добавлены в базу данных. Может кто-нибудь мне помочь? http://www.pixelhoster.net/api/m-shopping-purchases/m/4087396 - ссылка API на странице.Использование get_file_contents для получения информации со страницы?

+2

Итак, вы хотите написать ... парсер? – Resorath

+0

@resorath Но как бы я это сделал? –

+1

Это, вероятно, самый заданный вопрос о переполнении стека ... сначала найдите вокруг, и вы найдете все, что вам нужно знать, о том, как очистить, как анализировать (не с регулярным выражением) и как выполнять переменные mysql. – hackartist

ответ

1

Да, это очень распространенный вопрос о SO. Но им чувство хорошо:

<?php 
//Get the json string from the api 
$data = file_get_contents('http://www.pixelhoster.net/api/m-shopping-purchases/m/4087396'); 

//Decode that string, true to decode into an array 
$data = json_decode($data,true); 

print_r($data); 
/*Echos 
Array 
(
    [0] => Array 
     (
      [user] => Array 
       (
        [user_id] => 917115 
        [username] => Fiskarbengtson 
       ) 

      [item_name] => VIP 
      [item_price] => 15.00 
      [purchase_date] => 1330322376 
      [currency] => USD 
      [item_id] => 1639 
      [custom_field] => 
     ) 

) 

*/ 

//So to access the array 
echo $data[0]['user']['username']; 
echo $data[0]['item_name']; 
?> 
+0

Beat me к нему. Lucky @WillRenfroe, мой ответ был всего лишь ссылкой на документацию. – Resorath

+0

И я бы просто изменил значение [0] для поддержки нескольких пользователей? И чтобы включить «user» и «username» в переменную, я бы сказал $ User = $ data [0] ['user']; ? –

+0

Я не уверен, что вы имеете в виду с несколькими пользователями, в зависимости от того, что возвращает api, если вы установите '$ User = $ data [0] ['user'];' это добавит часть массива 'user_id && username' в '$ User' eg:' $ User ['username'] или $ User ['user_id'] 'Я предлагаю вам ознакомиться с http://php.net/manual/en/language.types.array.php удачей , Спасибо за согласие –

1

«API» ссылка вы вывесили, кажется, возвращает данные в формате JSON. Итак, вы должны рассмотреть возможность использования трюка file_get_contents с функцией json_deocde.