0

PHPファイルから文字列を取得する必要があります。誰かがこれを行う方法を知っていますか?

1 つのファイルの続きを読み書きする My.php

<?php
 $dir = '/var/www/devData/test';

 // create new directory with 777 permissions if it does not exist yet
 // owner will be the user/group the PHP script is run under
 if ( !file_exists($dir) ) {
  mkdir ($dir, 0777);
 }
 if (isset($_POST['data'])) {

         $stringData = $_POST['data'];
         $file = "/var/www/devData/test/ciao.txt"; 
         $fh = fopen($file, 'r+') or die("can't open file");
         fwrite($fh, $stringData);
         $theData = fread($fh, filesize($myFile)); //this is the string that i have to pass
         fclose($fh); 

         return $theData;

 }


 ?>

getメソッドを使用してphpファイルから文字列を取得するmy.jsスクリプト

 function addLabelCustom_options() {
  var select = document.getElementById('label_custom');

 $.get("JS/foo.php", function(result){ alert(result) }, "json");


 /* $.ajax({
  url:'/var/www/devData/test/ciao.txt',
  success: function (data){
  //parse ur data
  //you can split into lines using data.split('\n') 
  //use regex functions to effectivley parse
  var label_parsed = data.splitCSV();
    select.options[0] = new Option("-- Select Label --",0);
    var label_sort = new Array();

    for (var i=0; i<label_parsed.length-1; i++)
        label_sort.push(label_parsed[i][1]);

    label_sort.sort();
    for (var j=0; j<label_sort.length-1; j++)
        select.options[j+1] = new Option(label_sort[j],j+1);

}
});

*/
}

文字列の内容を取得するだけです $theData 文字列を取得しない場合のように見えます....

4

3 に答える 3

1
<?php
 $dir = '/var/www/devData/test';

 // create new directory with 777 permissions if it does not exist yet
 // owner will be the user/group the PHP script is run under
 if ( !file_exists($dir) ) {
  mkdir ($dir, 0777);
 }
 if (isset($_POST['data'])) {

         $stringData = $_POST['data'];
         $file = "/var/www/devData/test/ciao.txt"; 
         $fh = fopen($file, 'r+') or die("can't open file");
         fwrite($fh, $stringData);
         $theData = fread($fh, filesize($myFile)); //this is the string that i have to pass
         fclose($fh); 

         echo $theData;  // <-- ECHO

 }


 ?>

データを返すのではなく、出力する必要があります。つまり、エコーします。文字列がまだ json エンコードされていない場合は、echo json_encode($theData);

于 2012-07-31T09:57:57.193 に答える
0

みんな私は毎回愚かなことであり、私が本当に愚かであることを理解するたびに私は解決策を投稿するように問題を解決しました。

ディレクトリを作成してファイルに保存するために使用される最初のphpファイル

<?php
 $dir = '/var/www/devData/test';

 // create new directory with 777 permissions if it does not exist yet
 // owner will be the user/group the PHP script is run under
 if ( !file_exists($dir) ) {
  mkdir ($dir, 0777);
 }
 if (isset($_POST['data'])) {

         $stringData = $_POST['data'];
         $file = "/var/www/devData/test/ciao.txt"; 
         $fh = fopen($file, 'r+') or die("can't open file");
         fwrite($fh, $stringData);
         $theData = fread($fh, filesize($file));
         fclose($fh); 

        echo json_encode($theData);
 }


 ?>

続きを読むために、別のファイルphpを作成します

<?php


        $file = "/var/www/devData/test/ciao.txt"; 
            $fh = fopen($file, 'r') or die("can't open file");
        $theData = fread($fh, filesize($file));<--- was the error before i used Myfile but that variable wasn't declare and was empty :) lol 
        fclose($fh); 

        echo json_encode($theData);


 ?>

みんなに感謝!!

于 2012-07-31T11:22:43.593 に答える
0

PHP 関数 (echo $theData; ) でコンテンツをエコーし​​た後、次の jquery コードを試してください。

$.ajax({
 url:JS/foo.php,
 success:function(result){ alert(result) }, "json"),
 error:function(alert('Not Completed'))
};

また、コンソールで応答を確認して、エラーがないかどうかを確認します。firefox で F12 のコンソールを表示できます。

于 2012-07-31T10:15:53.817 に答える