2017-12-29 57 views
0

私はApache 2とPHPをRaspberry Pi 1 B +(RASPBIAN STRETCH LITE )にインストールしました。私は、テキストボックスと、ユーザーが送信するときにテキストボックスの内容をサーバー上のテキストファイルに保存するはずのPHPスクリプトでWebサイトを実行しています。 私は基本的にすべてを試しましたが、PHPスクリプトは保存しません。 PHPはテキストボックスの内容を取得します(私はそれをテストしました。うまくいきます)。PHPはファイルに保存しません

これは私のPHPです:PHPは、この問題から正常に脇に取り組んでいる

<?php 
include "code/multiPage/topBar.html"; 
$dir = "/data/searches.txt"; 
if ($_REQUEST) { 
    $input = $_REQUEST["search"]; 
    file_put_contents($dir, $input, FILE_APPEND); 
} 
?> 

このフォルダには、すべてのユーザーに対して読み取りと書き込みのアクセス許可があります。

if (!file_exists('path/to/directory')) { 
    mkdir('path/to/directory', 0777, true); 
} 

PHPでもそれを行うことはできません。 は、私はまた、PHPは、このようなコードで、独自のフォルダを作成できるようにしようと試みてきました。

ありがとうございました!

答えて

0

私はそれを理解しました。問題は、Webサーバーにディレクトリへの書き込み権限がないことでした。ヘルプを実行してsudo chown -R www-data var/www/html/dataを実行して問題を解決しました!素敵な一日を。D

1

まずちょうど他のコードとは別に

<?php 

ますfile_put_contents( "/データ/ searches.txt"、 "BLA"、FILE_APPEND)にこれを試みます。

?> 

書き込み可能

if(is_writable($dir)) 

だ場合は、必ずチェックすることができることを確認して、ファイルに書き込むことができることを確認するために、最後のエラー

echo print_r(error_get_last (), true) 

を取得しようと取り組んでいない場合また、デバッグのために、file_put_contentsによって書き込まれたビット数を確認することもできます。

ので、デバッグに簡単に最終的なコードは次のようになります事は

<?php 
include "code/multiPage/topBar.html"; 
$dir = "/data/searches.txt"; 
if(!is_writable($dir)){ 
    echo "cannot write to file"; 
} 

if (!empty($_REQUEST["search"])) { 
    $input = $_REQUEST["search"]; 
    $bitecount = file_put_contents($dir, $input, FILE_APPEND); 
} 
echo $bitecount . " bites were written to the file"; 
?> 

があります。 $ _REQUEST ["search"] = ""または$ _REQUEST ["search"] = null if($ _ REQUEST)がTRUEになる場合

+0

ありがとう!私はそれを試してみましょう。 :D –

+0

Tryed it - PHPを別のファイルに置いて、パスを確認しました。その場所に書き込むことはできません - 保存された0バイト。私はこれをどのように修正するか分かりません。 –

関連する問題