文字列を.txtファイルに書き込む単純なPHPスクリプトを作成しようとしています。 シンプル。そのために私は、この持っている:特定のパスに* .txtファイルをPHPで保存する方法は?
<?php
if(isset(isset($_GET["fileName"]) == true && isset($_GET["output"]) == true){
$fp = fopen($_GET["fileName"], "a+");
if($fp !== null){
fputs($fp, $_GET["output"] . "\r\n");
fclose($fp);
}
}
?>
をしかし、私は本当に特定の場所に保存できるようにする必要がありますので、私はこれを書いている:
<?php
if(isset($_GET["filePath"]) == true && isset($_GET["fileName"]) == true && isset($_GET["output"]) == true){
$fp = fopen($_GET["filePath"] . $_GET["fileName"], "a+");
if($fp !== null){
fputs($fp, $_GET["output"] . "\r\n");
fclose($fp);
}
}
?>
しかし、もちろんの
が、これは動作しません。1. PHPを使用して特定の場所に保存するにはどうすればよいですか?
2.このパスを相対パスにすることはできますか? (私はちょうど "/出力/"を送信し、期待どおりに保存されます)。
ありがとうございます。
今、私はここにいる:
<?php
if(isset($_GET["filePath"]) && isset($_GET["fileName"]) && isset($_GET["output"])){
$filename=preg_replace('/[^a-z0-9]/i', '', $_GET['fileName']).'.txt';
$filepathSanitized='http://thepathtomywebsite/~subdomain/'.$_GET["filePath"].$filename;
echo $filepathSanitized; // i get the correct path, but no file is present there
$fp = fopen($_GET["filepathSanitized"], "a+");
if($fp !== null){
fputs($fp, $_GET["output"] . "\r\n");
fclose($fp);
}
else echo ('Something wrong'); // it never gets to this
}
?>
と私は、このように上記呼び出しています:
$.get("save_me.php", { filePath: "demo/", fileName: "text", output: 'thing to write into' });
しかし、誰ファイルが作成されません。私は何がうまくいかないかを見つけるために何をデバッグするのか分からない。 ありがとうございます。
http://php.net/features.file-upload – KingCrunch
あなたのネストした 'isset()'は意味を持たず、致命的なエラーを引き起こすような匂いがします。それ以外に、本当に毎回 '== true'は必要ありません。それは暗黙のうちに追加され、コードを追加するだけです。 – ThiefMaster
入れ子になっているisset()..何かが送信されているかどうかの確認に役立ちませんか?私はそれが正しい方法だと思った。ありがとうございました。 –