php
  • path
  • fopen
  • 2017-01-10 5 views 0 likes 
    0

    PHPでランダムなファイルに書き込もうとしています。 PHPスクリプトは/ var/www/html/ にあります。作成しようとしているランダムなファイルは/ var/www/html/printフォルダにあります。PHPのパスが機能しない

    私は、次のJavaScript

    <button id="button1" type="button">Write to File</button> 
    <script type='text/javascript'> 
        $('#button1').click(function() { 
         $.ajax({ 
          type: "POST", 
          url: "printed.php", 
          data: "", 
          success: function(msg) { 
           alert(msg); 
          }, 
          error: function(XMLHttpRequest, textStatus, errorThrown) { 
           alert("Some error occured"); 
          } 
         }); 
        }); 
    </script> 
    

    とファイルを書き込むためのPHPを以下のように使用しています。

    <?php 
    $filename = rand(5, 15); 
    $path = "/print/" 
    @ $fp = fopen("$path""$filename", "wb"); 
    if (!$fp) { 
        echo '<p><strong>Cannot generate message file</strong></p></body></html>'; 
        exit; 
    } else { 
        $outputstring = 'Hello, i have been generated by the button'; 
        fwrite($fp, $outputstring); 
        Echo "Message inserted"; 
    } 
    ?> 
    

    私はPHPファイルにパスを使用しない場合

    が正常に作成されますが、/ var/www/htmlと設定フォルダに、私は、ファイルは/ var/www/htmlと設定/印刷フォルダに作成することにしたいです。

    ただし、ファイルパスを使用すると、ログに次のエラーが表示されます。

    PHP Parse error: syntax error, unexpected '@' in /netboot/var/www/html/printed.php on line 4

    +0

    変更

    $path = "/print/" @ $fp = fopen("$path""$filename", "wb"); 

    あなたは3行目のセミコロンが欠落していて、ライン4上のコンマは、それは怠惰や疲労のいずれかです。 – shalvah

    +0

    書き込みしようとしているファイルのファイル拡張子がありません。 – J2D8T

    答えて

    2

    セミコロン(;)を追加するのを忘れました。この

    $path = "/print/"; 
    @ $fp = fopen("$path" . "$filename", "wb"); 
    
    +1

    はい、あなたは正しいです、これは現在動作します。 – user2107349

    +0

    答えを変更して、 '。 –

    2

    構文に誤りがあります。

    @ $fp = fopen("$path""$filename", "wb"); 
    

    正しい記述。

    @ $fp = fopen("$path"."$filename", "wb"); 
    

    希望すると、これが役立ちます。

    +0

    いいえ、これは動作しません、私は同じエラーメッセージが表示されます。 – user2107349

    +0

    これは実際に動作しますが、私は$ path変数のセミコロンの最後を見逃しました。 – user2107349

    関連する問題