詳解PHP和AJAX創(chuàng)建的RSS聚合器_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:解讀Windows環(huán)境PHP的session為何不能正常使用
      首先打開PHP的配置文件 php.ini ,找到 session.save_path = /tmp 這一行,這是PHP在linux下的配置,Windows下PHP無法讀寫session文件導(dǎo)致session無法使用,把它改成一個(gè)絕對路徑就可以了,例如: session.save_path = C:\windows\temp 。

             示例使用AJAX來把一請求從一個(gè)RSS饋送發(fā)送到一定制的PHP對象。該P(yáng)HP對象復(fù)制一份在本地服務(wù)器上的該饋送并返回這一路徑。該請求對象收到這一路徑,分析它,并且把數(shù)據(jù)以HTML形式顯示給用戶。這聽起來涉及很多步驟,其實(shí)它僅由4個(gè)小文件組成。之所以使用了4個(gè)小文件,是為了平衡它們各自特定的力量而使整個(gè)系統(tǒng)的處理極富效率性。

        有些讀者可能會(huì)問,為什么你要?jiǎng)?chuàng)建在本地服務(wù)器上的饋送的一個(gè)副本而不是簡單分析最原始的饋送。原因是,這樣以來可以允許繞過XML HTTP Request對象所強(qiáng)加的跨域限制。后面,我還會(huì)解釋怎樣創(chuàng)建這個(gè)定制的PHP對象;但是首先,讓我們從表單創(chuàng)建開始。

        創(chuàng)建發(fā)出請求的表單

        你要做的第一事情是,在你的HTML的head標(biāo)簽之間包括你可能想使用的JavaScript和任何CSS文件。我包括了一個(gè)式樣表來實(shí)現(xiàn)該聚合器的最后布局并用一個(gè)JavaScript文件來發(fā)出請求和進(jìn)行饋送分析:
      <link href="css/layout.css" rel="stylesheet" type="text/css" />
      <script src="js/request.js"></script>

        下一步,創(chuàng)建一個(gè)表單,它針對你所選擇的一個(gè)RSS饋送發(fā)出請求。我創(chuàng)建的表單只包括一個(gè)輸入字段和一個(gè)提交該請求的按鈕。該請求的查詢是一個(gè)字符串,它由饋送輸入值和一個(gè)將在服務(wù)器端被校驗(yàn)的口令字組成;作為一個(gè)示例,我使用了下面形式:
      "password=mypassword

        該代碼在每次頁面加載之時(shí)發(fā)出一次請求;因此,如果頁面被刷新,現(xiàn)有的在該輸入域中的饋送串將在頁面加載時(shí)被請求。下面是一個(gè)表單數(shù)據(jù)的示例,連同一些div標(biāo)簽用來顯示已分析的饋送的特定結(jié)點(diǎn):
      <body onload=""password=mypassword');">
      <form name="feedForm" method="post" action=""password=mypassword');">
      Enter a feed: <input type="text" name="feed" id="feed" size="20">
       <input type="submit" name="submit" value="Add Feed">
      </form>
      <div id="logo"></div>
      <hr/>
      <div id="copy"></div>
      <div id="details"></div>
      </body>

        我所創(chuàng)建的這三個(gè)div標(biāo)簽是logo,copy和details,其中每一個(gè)都在布局樣式表中有一個(gè)與之相關(guān)聯(lián)的樣式。當(dāng)我們分析饋送時(shí)將會(huì)用到它們,但是我們首先需要能夠存取我們所請求的饋送。這可以使用我前面所提到的PHP對象來完成。

        創(chuàng)建定制的PHP對象


        我用PHP創(chuàng)建了一個(gè)小型RSS類,它在本地服務(wù)器上創(chuàng)建一個(gè)請求饋送的副本,這樣它可以為我們稍后要?jiǎng)?chuàng)建的XML HTTP Request對象所存取。典型地,你不能跨域請求一個(gè)文件,這意味著你要請求的文件需要位于本地服務(wù)器上。這個(gè)類是一種解決跨域問題的辦法,因?yàn)樗鼊?chuàng)建該饋送的一個(gè)副本,這個(gè)副本在本地服務(wù)器上被請求并且把本地路徑返回到該饋送,然后它由該Request對象來存取。

      分享:淺談保護(hù)代碼安全,PHP如何進(jìn)行注入
      今天寫代碼的時(shí)候猛然想到是不能能夠通過一個(gè)文件來處理整個(gè)網(wǎng)站中所有可能出現(xiàn)注入的地方進(jìn)行防范呢?這樣就能夠不用在每個(gè)程序里對每個(gè)變量進(jìn)行過濾,節(jié)省了時(shí)間和代碼。 我們主要是從兩點(diǎn)出發(fā),因?yàn)槲覀兊墨@取的變量一般都是通過GET或者POST方式提交過來

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:PHP教程/更新時(shí)間:2010-01-31
      相關(guān)PHP教程