作者yorjing (托兒所嬰兒)
看板PHP
標題Re: [問題]file讀檔...
時間Fri Oct 19 22:12:54 2007
※ 引述《yorjing (托兒所嬰兒)》之銘言:
: $fcontents = file ('檔案位置');
: 當我把檔案位置設成同一個資料夾時
: file函數可以讀檔
: 當我設不同資料夾或是url時
: 他卻不能讀檔
: 可以請教一下各位高手要怎麼解決這個問題呢?
: 小弟被這問題困擾了一個下午了...
: 在這邊先謝謝各位大大
可能是我講的不太清楚
我把我的code貼上來好了
<?php
include "manage.login.php" ;
$link = mysql_pconnect($host, $dbuser, $dbpasswd)
or die('無法連接到資料庫:'.mysql_error());
mysql_select_db($dbname)
or die('無法選擇資料庫['.DB_DATABASE.']:'.mysql_error());
$sql = "select * from reader where id='$_GET[id]'";
$result = mysql_query($sql);
$record = mysql_fetch_array($result);
$link=$record['link'];
$fcontents = file ('$link');
$xml='<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="rss.xsl"?>
';
while (list ($line_num, $line) = each ($fcontents)) {
if($line_num>=1)
{
$xml.=$line;
}
}
unlink("rss.xml");
$fp = fopen("rss.xml", 'w');
fputs($fp, $xml);
header("Location:rss.xml");
?>
我主要是要讀別人的RSS(xml檔)
但因為我用的那個free server host沒有支援xslt函式庫
所以我自己動手寫
我的寫法是先把檔案讀進來
然後再給$xml值為xml黨的宣告以及會引用的xsl檔
再來從被讀的檔的第二行開始串起來
本來都好好的
當我把$link改成同資料夾的xml檔名時
他可以讀
但我一放上$link時
他就不能讀了
可以請問一下各位高手要怎麼才能讓他讀呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.217.236.159
※ 編輯: yorjing 來自: 61.217.236.159 (10/19 22:14)
推 buganini:$link跟mysql connection handler同名 不過不是爆點 10/20 00:25
→ buganini:先把$link echo出來確認一下 10/20 00:25
→ buganini:並確認一下fopen wrapper有開 10/20 00:26
→ buganini:另外file ('$link');這樣傳進去的檔名是'$link'而不是 10/20 00:26
→ buganini:$link的值....這裡用file ($link);就好了啊 10/20 00:27
→ buganini:雙引號也是能免則免 不然php engine還要去代換裡面的變數 10/20 00:27
→ buganini:浪費時脈 10/20 00:28
→ buganini:$_GET['id']可以用intval()處理一下 如果是數字的話 10/20 00:28
推 buganini:unlink其實可以不用,'w'會清空,另外我覺得你想做的事 10/20 00:38
→ buganini:可能可以header('Content-type: text/xml');然後直接 10/20 00:39
→ buganini:echo 剩下的東西, 就不用另開一個xml 10/20 00:39