2013-07-12 9 views
6

से एक जेएसएस फ़ाइल में डेटा लिखें मेरे पास एक test.php पृष्ठ है जो तीनों को प्रदर्शित करता है जिसमें उपयोगकर्ता पॉपअप विंडो देखता है बटन पर क्लिक करके 3 "लिंक जोड़ें" बटन होते हैं। खिड़की में वह लिंक जोड़ता है। लिंक जोड़ने के बाद, मूल पृष्ठ नए लिंक के साथ "लिंक जोड़ें" बटन से हाइपरलिंक में बदल जाएगा। अब, मुझे एजेक्स कॉल का उपयोग करके test.php से links.php तक उपयोगकर्ता से प्राप्त नया लिंक पास करना होगा। Links.php को किसी अन्य फ़ाइल को लिंक लिखने के लिए JSON कोड होना चाहिए जिसे first.json कहा जाता है। first.jason में परिवर्तनीय और लिंक के लिए महत्वपूर्ण मूल्य जोड़ी होगी। मुझे बाद में .json फ़ाइल से मान पुनर्प्राप्त करना होगा और एक सरणी में पुनर्निर्माण करना होगा, इसी चर को अद्यतन करें और इसे वापस सहेजें।PHP फ़ाइल

मैंने अभी तक test.php से नया लिंक प्राप्त करने में कामयाब रहा है और AJAX कॉल के माध्यम से link.php पर इसे भेजने में सक्षम है। मैं जो लिंक प्राप्त करता हूं उसे प्रदर्शित करने में भी सक्षम हूं और इसे सत्यापित कर लिया है। अब, मैं लिंक को .json फ़ाइल में एक कुंजी वैले जोड़ी के रूप में कॉपी करना चाहता हूं। मैं जेसन के लिए नया हूं और इसके बारे में पता लगाने में असमर्थ हूं कि इसके बारे में कैसे जाना है। My variable $ p, links.php में लिंक है।

कोई भी पॉइंटर्स उपयोगी होगा। धन्यवाद।

<?php 
include 'test.php'; 
$p=$_REQUEST['q']; 
?> 
: (यानी, लिंक) test.php ajax कॉल के माध्यम से भेजता है

  <!DOCTYPE html> 
     <html> 
     <body> 
     <div id="demos1"> 
    <button id="demo1" onclick="Link1()">Add Link-1</button> 
      <br> 
    </div> 
    <div id="demos2"> 
    <button id="demo2" onclick="Link2()">Add Link-2</button> 
      <br> 
    </div> 
    <div id="demos3"> 
    <button id="demo3" onclick="Link3()">Add Link-3</button> 
      <br> 
      </div> 
    <div id="txtHint"></div> 
    <script> 
      function Link1() 
      { 
      var demo1 = document.getElementById('demo1'); 
      var demos1 = document.getElementById('demos1'); 
      var value1 = prompt("Please Enter the Link"); 
      var link1 = document.createElement('a'); 
      link1.setAttribute('href', value1); 
      link1.innerHTML = "New Link1";        
      demo1.parentNode.removeChild(demo1); 
      demos1.appendChild(link1); 
      sendlink(value1); 
      } 
     function Link2() 
      { 
      var demo2 = document.getElementById('demo2'); 
      var demos2 = document.getElementById('demos2'); 
      var value2 = prompt("Please Enter the Link"); 
      var link2 = document.createElement('a'); 
      link2.setAttribute('href', value2); 
      link2.innerHTML = "New Link2"; 
      demo2.parentNode.removeChild(demo2); 
      demos2.appendChild(link2); 
      sendlink(value2); 
      } 
     function Link3() 
      { 
      var demo3 = document.getElementById('demo3'); 
      var demos3 = document.getElementById('demos3'); 
      var value3 = prompt("Please Enter the Link"); 
      var link3 = document.createElement('a'); 
      link3.setAttribute('href', value3); 
      link3.innerHTML = "New Link3"; 
      demo3.parentNode.removeChild(demo3); 
      demos3.appendChild(link3); 
      sendlink(value3); 
      } 
     function sendlink(str) 
     { 
      if (str.length==0) 
       { 
       document.getElementById("txtHint").innerHTML="hello"; 
       return; 
       } 
      if (window.XMLHttpRequest) 
       {// code for IE7+, Firefox, Chrome, Opera, Safari 
       xmlhttp=new XMLHttpRequest(); 
       } 
      else 
       {// code for IE6, IE5 
       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
       } 
      xmlhttp.onreadystatechange=function() 
       { 
       if (xmlhttp.readyState==4 && xmlhttp.status==200) 
       { 

       document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 
       } 
       } 
      xmlhttp.open("GET","links.php?q="+str,true); 
      xmlhttp.send(); 
     } 
    </script> 
     </body> 

      </html> 

नीचे जो मूल्य प्राप्त links.php के लिए कोड है:

नीचे test.php में मेरी कोड है

मैं json_encode का उपयोग कर जेसन फ़ाइल में लिखने में सक्षम हूं। अब मुझे .json फ़ाइल से लिंक पढ़ना होगा, इसे संबंधित चर से जोड़ना होगा और उसे वापस सहेजना होगा। मैं इसे किस तरह लूं?

+1

अपने कोड दिखाएँ उपयोगी है। – msanford

+0

क्या आप PHP फ़ाइल i/o करना चाहते हैं? ऐसा लगता है जैसे आपने अपने सभी जावास्क्रिप्ट और AJAX को सफलतापूर्वक पूरा कर लिया है। इस लिंक को आपको उस दिशा में जाना चाहिए: http://www.tutorialspoint.com/php/php_files.htm – MaxPRafferty

उत्तर

1

आप पहले से ही अपने json बनाया है, तो आप बस यह कर सकते हैं:

fwrite("yourjson.json",json_encode($yourvariablewithdata)) 

आप अपने json फ़ाइल नहीं बनाया है, तो आप यह fopen समारोह के साथ बना सकते हैं। विवरण http://www.php.net/manual/es/function.fopen.php

+0

मैं json_encode का उपयोग कर जेसन फ़ाइल में लिखने में सक्षम हूं। अब मुझे .json फ़ाइल से लिंक पढ़ना होगा, इसे संबंधित चर से जोड़ना होगा और उसे वापस सहेजना होगा। मैं इसे किस तरह लूं? – user2521326

25

json लिखने के लिए देखें:

file_put_contents('filename.json', json_encode($p)); 

json पढ़ने के लिए:

$p = json_decode(file_get_contents('filename.json')); 

जाहिर है हालांकि इस पर सभी की जाँच कोई त्रुटि नहीं है।

0

आप कर सकते हैं हमेशा JSON.stringify JSON jQuery के साथ ग्राहक के पक्ष है, तो जैसे पर:

$jsondata = $_POST['dataForJson']; 
$writeJson = file_put_contents('data_en.json', $jsondata); 
:

var dataForJson = JSON.stringify(your_aray); 

तो सर्वर साइड पर यह के रूप में (json_encode की कोई आवश्यकता नहीं है) लिखना

2

यदि आप एक नीचे json फ़ाइल में डेटा सम्मिलित करना चाहते हैं

function exportToJson() { 

    mysql_connect("localhost", "root", ""); 
    mysql_select_db("krasimir_benchmark");  

    $res = mysql_query("SELECT * FROM users ORDER BY id"); 
    $records = array(); 
    while($obj = mysql_fetch_object($res)) { 
     $records []= $obj; 
    } 
    file_put_contents("data.json", json_encode($records)); 

} 
संबंधित मुद्दे