2

データをPHPファイルにHTTPPOSTしたいのですが、PHPファイルはデータをファイルに書き込みます。私が使用したスクリプトは次のとおりです。

 <?php
    #error_reporting(E_ERROR | E_PARSE);
    $msglen=strlen($_POST["msgarea"]);
    $msg=$_POST["msgarea"];
    $fp = fopen("dinesh.txt", 'w');
    fwrite($fp, $msg); 
     fclose($fp); 
     echo "Data Written -> $msg";
    ?>

このスクリプトファイルをsourceforgeでホストしています。

空のファイルdinesh.txtを作成し、スクリプトファイルと同じディレクトリにファイルを配置しました。しかし残念ながら、ファイルには書き込まれていません。

理由は何ですか ?前もって感謝します

4

4 に答える 4

1

空で$_POST["msgarea"]はなく、ファイルを書き込もうとするユーザーがファイルに書き込めることを確認してください。もちろん、ログにエラーがないか確認してください。

<?php
error_reporting(E_ALL);
var_dump($_POST["msgarea"]);

$msglen=strlen($_POST["msgarea"]);
$msg=$_POST["msgarea"];
$fp = fopen("dinesh.txt", 'w');
$result = fwrite($fp, $msg); 
fclose($fp); 
if ($result) {
    echo "Data Written -> $result";
} else {
    echo "Error";
}
于 2012-07-19T10:51:03.380 に答える
1

読み取り専用のWebスペースに書き込んでいると思います。ファイルのアクセス許可とパスを確認してください

于 2012-07-19T10:51:14.000 に答える
1

差出人:http ://sourceforge.net/apps/trac/sourceforge/ticket/2772

通常、プロジェクトのWebスペースにあるフォルダーやファイルへの書き込みは許可されていません。ファイルシステムに書き込む必要がある場合は、htdocsと同じレベルにあるpersistentという名前のフォルダーを使用する必要があります。

私は自分のコンピューターで使用します:

$ mkdir persistent
$ chmod 0777 persistent
$ scp -r persistent my_account@web.sourceforge.net:/home/project-web/my_project/

そしてPHPで設定:

$fp = fopen("../persistent/dinesh.txt", 'w');

そしてそれは動作します!

編集: SSHコンソールに4時間アクセスできます(https://sourceforge.net/apps/trac/sourceforge/wiki/Shell%20service)。また、プロジェクトのWebディレクトリに移動し、dirsを作成し、特権を設定し、ファイルを削除することができます。MidnightCommanderが利用可能です。

于 2014-02-09T10:36:26.997 に答える
0

あなたは、そのフォルダの許可を確認することができます、彼らは777の許可を持っていますか

$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "Bobby Bopper\n";
fwrite($fh, $stringData);
fclose($fh);
于 2012-07-19T10:49:38.427 に答える