/ /変数としてファイル名を渡すPHP - PHP

変数としてファイル名を渡すPHP - PHP

このURLをリクエストすると:

http://example.com/csv_build.php?filename=test.txt&time=1485902100000&data=25

私は、PHPコードが次の名前のファイルを作成することを期待しています: datafile.txt 次のデータが含まれます。

test.txt,1485902100000,25<CR><LF>

何らかの理由で、 datafile.txt 作成されません。

私は間違いを犯しましたか?

 <?
# GRAB THE VARIABLES FROM THE URL
$File = "datafile.txt";
$FileName = $_GET["filename"];
$HeureTronconMesure = $_GET["time"];
$DonneeCapteur = $_GET["data"];
# --------------------------------

$FICHIER = fopen($File, "a");

#ftruncate($FICHIER,0);

fputs($FICHIER, $FileName);
fputs($FICHIER , ",");
fputs($FICHIER, $HeureTronconMesure);
fputs($FICHIER , ",");
fputs($FICHIER, $DonneeCapteur);
fputs ($FICHIER , "rn");

fclose($FICHIER);
?>

回答:

回答№1の場合は3

あなたは何かエラーチェックをしていませんが、なぜすべてがうまくいくと思いますか?いくつかのエラーが見つかったら、最初にチェックするのはファイルのパーミッションです。

<?php
# GRAB THE VARIABLES FROM THE URL
$File = str_replace("/", "_", $_GET["filename"]);
$FileName = $_GET["filename"];
$HeureTronconMesure = $_GET["time"];
$DonneeCapteur = $_GET["data"];
# --------------------------------

if (!$FICHIER = fopen($File, "a")) {
//there was an error opening the file, do something here
}

fputs($FICHIER, $FileName);
fputs($FICHIER , ",");
fputs($FICHIER, $HeureTronconMesure);
fputs($FICHIER , ",");
fputs($FICHIER, $DonneeCapteur);
fputs ($FICHIER , "rn");

fclose($FICHIER);
?>

本当に、私はこのコードを非常に簡単に いくつかのショートカット 文字列を連結します。

<?php
// replace any slashes in the filename with underscores
$file = str_replace(["/", "\"], "_", $_GET["filename"]);

// build a string out of your data
$data = "$_GET[filename],$_GET[time],$_GET[data]rn";

// write the data to the file, checking if it returns false
if (!file_put_contents($file, $data)) {
//there was an error writing the file, do something here
}

注意してください。 <?、それは非常に長い時間を非難されました。 <?php.