いつもお世話になっております。
###実現したいこと
phpでAPIからデータを抽出しCSVを生成させたいと考えております。
###対象のプログラム
php
1<?php 2$request_options = array( 3 'http' => array( 4 'method' => 'GET', 5 'header'=> "Authorization: Bearer *****\r\n" 6 ) 7 ); 8 9$context = stream_context_create($request_options); 10 11// 出力バッファを有効にする 12ob_start(); 13 14// 文字列、配列の出力 15echo "id,title,description,link,condition,price,brand,mpn,google product category,image link,age group,gender,availability,color,product type\n"; 16 17/* 掲載したい商品数÷50の値 */ 18for($j=0; $j<= 0.1; $j++){ 19 20$url = 'https://api.shop-pro.jp/v1/products.json?display_state=0&limit=50&offset='.($j*50); 21 22$response_body = file_get_contents($url, false, $context); 23$response_json = json_decode($response_body, true); 24 25var_dump($response_body[1]); 26var_dump($response_json); 27 28echo count($response_json['products']); 29 30// 連想配列に当たる 31for($i=0; $i<count($response_json['products']); $i++) { 32 if($response_json['products'][$i]['stocks']>="1"){ 33 echo $response_json['products'][$i]['id'].","; 34 echo $response_json['products'][$i]['name'].","; 35 echo $response_json['products'][$i]['simple_expl'].","; 36 echo "http://lingerie-shop.pink/?pid=".$response_json['products'][$i]['id'].","; 37 echo "new,"; 38 echo floor($response_json['products'][$i]['sales_price']*1.08).","; 39 echo "Pink test,"; 40 echo $response_json['products'][$i]['model_number'].","; 41 echo ","; 42 echo $response_json['products'][$i]['image_url'].","; 43 echo "adult,"; 44 echo "female,"; 45 echo "in stock,"; 46 echo ","; 47 if(strpos($response_json['products'][$i]['name'],"カテゴリ1")!== FALSE) 48 echo "カテゴリ1"; 49 elseif(strpos($response_json['products'][$i]['name'],"カテゴリ2")!== FALSE) 50 echo "カテゴリ2"; 51 elseif(strpos($response_json['products'][$i]['name'],"カテゴリ3")!== FALSE) 52 echo "カテゴリ4"; 53 else 54 echo"[その他]"; 55 echo "\n"; 56 } 57} 58 59} 60 61$output = ob_get_contents(); 62ob_end_clean(); 63 $fp = fopen('feed.csv', 'w'); 64 fwrite($fp, $output); 65 fclose($fp); 66
###発生している問題・エラーメッセージ
csvが生成されません。また事前にcsvを用意し上書きされるような形も試したのですが上書きされませんでした。
権限の問題かと思い管理者権限で実行したのですが、結果は変りませんでした。
エラーログも出ず何が原因かわかりません。
確認の為、プログラムの一部を変えて実行するとエラーログは表示されました。
何が原因でcsvが生成されないのでしょうか?
###環境
CentOS 6.8 64bit
php 5.6.29
Apache 2.2.15
###追記
このプログラムをroot権限で実行しているのですが、そこに問題があるのでしょうか?
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/03 08:42