LoginSignup
1
1

【PHP】HPサーバーにあるCSVへ書き込む。

Posted at

目的

あるデータをHPにて使用するため、CSVへ書き込む。今回の内容はURLを見られても問題ないデータ。
セキュリティ等はあまり得意ではないため、不備があればご教示頂ければ幸いです。
クライアントPC→HPサーバー→HPに表示

環境等

  • クライアントPCでもサーバーPCでもPHPを使用
  • サーバーの権限がある

方法

クライアントPCの設定

変数$outoput.dataにサーバーへ送信したい情報が含まれている(一行の文字列)。

get_data.php
//送信先の文字コードへ変換
$output_euc = mb_convert_encoding($output_data, "EUC-JP", "UTF-8");

//HPサーバーへデータ送信
$url = "https://www.test.com/get_data.php?data=" . "$output_euc";
$conn = curl_init(); // cURLセッションの初期化
curl_setopt($conn, CURLOPT_URL, $url); // 取得するURLを指定
curl_setopt($conn, CURLOPT_RETURNTRANSFER, true); // 実行結果を文字列で返す。
$res =  curl_exec($conn);
curl_close($conn); //セッションの終了

サーバーの設定

  • get_data.php・・・data.csv書き込むプログラム
  • data.csv・・・データを保存するCSV

CSVへ書き込めない場合、サーバーで下記を実行することで権限をnobodyにする。

> su
> chown nobody data.csv
> chgrp nobody data.csv

権限がない場合はsuで実行する。

サーバーにてGETメソッドで送られてきたデータをCSVへ書き込む

get_data.php

<?php

$data = trim($_GET["data"]);
file_put_contents("data.csv", "\n" . $data, FILE_APPEND);

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1