4

文字列を含む新しいファイルを作成する 2 つのパラメーター (ファイル名と中に入れる文字列) を受け取る関数を作成しようとしています。

<?php

function writeFile($name, $string) {
    $text = $string;
    $fh = fopen($name + ".txt", 'w') or die("Could not create the file.");
    fwrite($fh, $text) or die("Could not write to the file.");
    fclose($fh);
    echo "File " . $name . ".txt created!";
}

writeFile("testovFail", "Lorem ipsum dolor sit amet");

if(file_exists("testovFail.txt")) echo "<br>File exists!";

?>

関数はファイルが作成されたことをエコーし​​ますが、IF条件を実行してファイルが作成されたかどうかを確認すると、作成されていないことが返されます。

4

5 に答える 5

4

これを試してください: fopen($name . ".txt", 'w')
$name + ".txt" は常に 0 を返します!

于 2013-05-18T09:09:51.747 に答える
2

$name + ".txt"これは、php で文字列連結が機能する方法ではありません。である必要があります$name.'txt'

あなたのコードはそのままの名前でファイル0$name作成しstringます.string(int)'somestring' === 0

于 2013-05-18T09:10:28.470 に答える
0

ここでは、少し異なるアプローチを示します。:)

<?php
$file = new SplFileObject('file.txt', 'w');
$file->fwrite('Hi!');
于 2013-05-18T09:30:53.040 に答える