mysqlでクエリを実行してファイルをエクスポートするために使用するPHPスクリプトがあります。私は、PHPのファイル内にログインの資格情報を持っています。それはページにアクセスしたユーザーによって呼び出され、ファイルは自動的にダウンロードされます。私はあなたが別のファイルに資格情報を書いて、ファイルに含めるべきであることを読んだ。私はこのファイルをどこに安全に格納するか、そしてそれを適切に入れる方法を知るためにphpについて十分に知りません。私は友人にファイルの書き込みを手伝ってもらいました。
phpスクリプトは次のとおりです。あなたはそれがあなたのために動作しませんので、彼らはまだそれをエコーしてパスワードを取得することができますinclude
に入れた場合でもPHPファイルのmysqlパスワードを隠す
<?php
header("Access-Control-Allow-Origin: *");
$db_user = "user"; //replace with your mysql username
$db_pass = "password"; //replace with your mysql password
$db_source = "database"; //replace with your database name
$mysqli = mysqli_connect("localhost", $db_user, $db_pass, $db_source);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
} else {
// place sql query between quotes for $sql -- do not end with ;
$sql = " SQL Statement Here ";
$res = mysqli_query($mysqli, $sql);
$rows = array();
if ($res) {
while ($r = mysqli_fetch_assoc($res)) {
$rows[] = $r;
}
} else {
printf("Could not retrieve records: %s\n", mysqli_error($mysqli));
}
$return = array(
$rows
);
array_to_csv_download($rows);
mysqli_free_result($res);
mysqli_close($mysqli);
unset ($db_user, $db_pass, $db_source);
}
function array_to_csv_download($array, $filename = "export.csv", $delimiter=",") {
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="'.$filename.'";');
$f = fopen('php://output', 'w');
foreach ($array as $line) {
fputcsv($f, $line, $delimiter);
}
}
?>
これは* sort of * trueです。バージョン管理の外にある別のファイルに保存する方がいいので、誤ってGithubを少しプライベートにするなどしても公開されません。たとえば、 '。env'ファイルを作成します。 – ceejayoz
@ceejayoz true!私はそれを私の答えに加えます。ありがとう! – Maxime