MENU
映像送信型風俗特殊営業届済み|顧問弁護士・税理士提携済み

StripChatの報酬集計をPHPで自動化|キャスト別の収益を数秒でまとめる方法

本記事のコードは「date,cast,tokens」の3列CSVを前提にした例です。実際のダッシュボードから出力されるCSVの列構成・換算レート・報酬率は変更されることがあるため、お使いの環境に合わせて調整してください。個人情報を含むデータの取り扱いには十分ご注意ください。

タイトル候補8選

  1. StripChatの報酬集計をPHPで自動化|キャスト別の収益を数秒でまとめる方法
  2. スタジオ運営者必見|月次の報酬集計をスクリプトで終わらせる
  3. コピペで動く!StripChat報酬のキャスト別集計PHPスクリプト
  4. 手計算はもう卒業|トークンから円換算までを自動化する方法
  5. キャストが増えても破綻しない|報酬管理のPHP自動化入門
  6. スプレッドシート作業を減らす|配信収益の集計を仕組み化する
  7. PHP初心者でもできるCSV集計|StripChat運営の効率化
  8. 集計ミスをなくす|不正な行を自動スキップする報酬レポート
キャストが増えるほど、月末の報酬集計は重い作業になる。スプレッドシートに手で貼り付けて、キャストごとに合計して、円換算して…という作業は、ミスも起きやすい。この記事では、報酬のCSVをPHPでキャスト別に自動集計し、円換算まで行うスクリプトを紹介する。コピーしてそのまま実行でき、実際にPHP 8.3で動作確認済みのコードだ。
目次

この記事で作るもの

項目内容
入力日付・キャスト名・トークン数を含むCSVファイル
処理キャスト別にトークンを合計し、設定したレートで円換算する
出力トークンの多い順に並べた集計表と合計行
安全対策形式不正の行はスキップして警告を表示、ファイル不在や引数なしはエラー終了

事前準備

1PHPが使える環境を用意する
レンタルサーバーやローカルPCのPHP(8.0以上推奨)で動く。ターミナルで php -v と入力し、バージョンが表示されれば準備完了。
2報酬データをCSVにまとめる
管理画面からの出力や手元の記録を、下記の形式のCSVに整える。1行目はヘッダー行。
date,cast,tokens
2026-10-01,Aoi,1200
2026-10-01,Mio,800
2026-10-02,Aoi,950
2026-10-02,Mio,abc
2026-10-03,Rin,3000
2026-10-03,Mio,400

このサンプルでは、5行目にあえて「abc」という不正な数値を入れてある。後述のとおり、スクリプトはこの行を自動でスキップする。

運営の効率化も相談できます

StripChatHubではスタジオ運営の仕組み作りもサポートしています。まずはLINEでお気軽にご相談ください。

LINEで相談する

サンプルコード(report.php)

以下を report.php という名前で保存する。

<?php
// 報酬CSVをキャスト別に集計し、円換算するスクリプト
// 想定CSV列: date,cast,tokens
const YEN_PER_TOKEN = 5.0; // 手取り換算レート(例)。実際のレートに合わせて変更する
const MIN_COLUMNS   = 3;

if ($argc < 2) {
    fwrite(STDERR, "使い方: php report.php rewards.csv\n");
    exit(1);
}

$path = $argv[1];
if (!is_readable($path)) {
    fwrite(STDERR, "ファイルを読み込めません: {$path}\n");
    exit(1);
}

$fh = fopen($path, 'r');
fgetcsv($fh); // ヘッダー行を読み飛ばす

$totals = [];
$line = 1;
while (($row = fgetcsv($fh)) !== false) {
    $line++;
    if (count($row) < MIN_COLUMNS || !is_numeric($row[2])) {
        fwrite(STDERR, "スキップ(形式不正) {$line}行目\n");
        continue;
    }
    $cast = trim($row[1]);
    $totals[$cast] = ($totals[$cast] ?? 0) + (float)$row[2];
}
fclose($fh);

arsort($totals); // トークンの多い順
echo implode("\t", ['キャスト', 'トークン', '円換算']), "\n";
foreach ($totals as $cast => $tokens) {
    echo implode("\t", [$cast, number_format($tokens), number_format($tokens * YEN_PER_TOKEN)]), "\n";
}
echo implode("\t", ['合計', number_format(array_sum($totals)), number_format(array_sum($totals) * YEN_PER_TOKEN)]), "\n";

実行方法と出力結果

CSVと同じフォルダで、次のコマンドを実行する。

php report.php rewards.csv

上のサンプルCSVで実行すると、次の結果が表示される(タブ区切り)。5行目の不正な行は「スキップ(形式不正) 5行目」と警告され、集計から除外される。

キャスト	トークン	円換算
Rin	3,000	15,000
Aoi	2,150	10,750
Mio	1,200	6,000
合計	6,350	31,750
検算:Aoi=1,200+950=2,150、Mio=800+400=1,200(不正行は除外)、Rin=3,000。合計6,350トークン×5円=31,750円で、出力と一致している。

コードの要点解説

箇所役割
const YEN_PER_TOKEN円換算のレート。ここだけ書き換えれば換算結果が変わる。手取りか総額かで値を使い分ける
fgetcsv()CSVを1行ずつ配列として読み込む。カンマを含む項目も正しく扱える
is_numeric($row[2])トークン列が数値かを確認。文字や空欄の行を弾いて集計崩れを防ぐ
$totals[$cast] ?? 0そのキャストの初出なら0から加算する書き方。初期化の記述が不要になる
arsort()合計値の大きい順に並べ替え、キャスト名との対応は保つ

運営の効率化も相談できます

StripChatHubではスタジオ運営の仕組み作りもサポートしています。まずはLINEでお気軽にご相談ください。

LINEで相談する

自分の環境に合わせて変えるポイント

カスタマイズの例

  • CSVの列順が違う場合は $row[1](キャスト名)と $row[2](トークン)の番号を変更する
  • 換算レートを変える場合は YEN_PER_TOKEN の値を更新する
  • 月別に分けたい場合は、日付列($row[0])の先頭7文字で集計キーを分ける
  • 結果をファイルに保存したい場合は php report.php rewards.csv > result.tsv のようにリダイレクトする

運用上の注意点

キャストの報酬データは個人情報・機密情報にあたる。CSVはWeb公開フォルダに置かず、アクセス制限のある場所で扱うこと。サーバー上で動かす場合は、外部から直接実行できない設定にしておく。
注意点理由
CSVを公開フォルダに置かないURLを知られると第三者に報酬情報が見られる恐れがある
レートは定期的に見直す換算レートや報酬率が変わると、集計結果と実際の入金額がずれる
集計結果は必ず一度目視で確認する元データの形式が変わったとき、スクリプトが想定外の値を拾う可能性がある
確定申告・支払いの根拠にする場合は原本を保管するスクリプトの出力は補助資料であり、元の明細が正式な記録になる

よくある質問

Q. PHPを触ったことがなくても使えますか?

コマンドを1行実行できれば使える。コードを書き換える必要があるのは、レートと列番号を変える場合だけ。まずはサンプルCSVで動かして、結果を確認してみるのがおすすめ。

Q. ExcelやGoogleスプレッドシートで十分では?

キャスト数が少なければ表計算で十分。ただし、毎月数百〜数千行を手作業で集計する場合は、スクリプト化するとミスと工数を大きく減らせる。

Q. StripChatから直接データを取得して自動化できますか?

このスクリプトはあくまで手元のCSVを集計するもので、プラットフォームへ自動接続はしない。外部連携の可否や方法は公式の案内を確認する必要がある。

Q. 列の並びがうちのCSVと違います

コード内の $row[1] と $row[2] の番号を、実際の列位置(0から数える)に合わせて変更すれば対応できる。

まとめ

報酬の集計は、キャストが増えるほど手作業の負担とミスのリスクが大きくなる。CSVを読み込んでキャスト別に合計し、円換算まで行うスクリプトを用意しておけば、月次作業は数秒で終わる。まずはサンプルCSVで動かして仕組みを理解し、自分の環境のCSV形式とレートに合わせて調整してみてほしい。個人情報を扱う作業なので、データの保管場所には十分注意しながら運用していこう。

運営の効率化も相談できます

StripChatHubではスタジオ運営の仕組み作りもサポートしています。まずはLINEでお気軽にご相談ください。

LINEで相談する
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次