廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 3470 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
ety 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x719
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[PHP][討論] 請教有關PHP檔案處理的難題[已解決]
我在寫一個留言板的程式, 我用一個文字檔(txt)來存留言內容!
流程大致是 1. 讀取文字檔 2. 寫入訊寫 3. 存檔
但我發現了一個問題:
若同時有兩人正好在留言, 那麼第一個人和第二個人讀取文字檔是同一時間的, 內容也是一樣的,
這時若有人先寫好了, 那他的留言訊息就會先存在文字檔中! 但第二個人若也寫好了, 因為所讀取的文字檔是之前的, 所以存檔後是沒有第一個人的訊息的...

這種問題該如何解決呢?


[ 此文章被ety在2006-08-02 07:12重新編輯 ]


獻花 x0 回到頂端 [樓 主] From:台灣和信超媒體 | Posted:2006-07-19 12:48 |
ety 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x719
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

沒有人有解決方法或是替代方法嗎?


獻花 x0 回到頂端 [1 樓] From:台灣和信超媒體 | Posted:2006-07-22 23:15 |
hanklu 會員卡
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x9 鮮花 x225
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

設定讀取以後就會離開該文字檔案的處理


這樣應該就可以了吧


獻花 x0 回到頂端 [2 樓] From:台灣數位聯合 | Posted:2006-07-24 20:19 |
ety 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x719
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

請教" 設定讀取以後就會離開該文字檔案的處理"的作法是?
我的作法是讀檔, 然後內容置於變數中!
這個變數會把新的留言加進去, 然後在回存至文字檔中.

若同時有兩人來網站上留言, 那麼所讀取的變數是同樣內容的!
例如A與B兩人來留言了, 在我這裡看來是A和B都讀取了相同的變數(由文字檔讀出的內容置於這變數中),
然後A寫完了留言, 那變數的內容會變成原檔內容 + "A寫的新內容";
而B那邊則是原檔內容 + "B寫的新內容"!
誰先誰完就先存檔, 然後呢? 最後我們來看看這文字檔會變怎樣? 變成誰最後寫完的誰的留言就有存到, 之前那位寫的並沒有存到...

該如何解決這問題呢?


獻花 x0 回到頂端 [3 樓] From:台灣和信超媒體 | Posted:2006-07-25 02:53 |
joey04152001
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x43
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

問的好!小弟也想知道,小弟也在練習寫文本留言本!

這個問題小弟也沒想過,不過既然大大提出來了!就等看看結果好啦!


獻花 x0 回到頂端 [4 樓] From:台灣數位聯合 | Posted:2006-08-01 22:19 |
joey04152001
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x43
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

小弟是這樣寫
$fp = fopen ( "word.txt" , "a+" ) ;
$read_text=fread($fp,filesize("word.txt"));
fclose($fp);


++++++++++++++++++++++
記得讀完就要關閉就行,小弟是在單機測試的!
a+好像把檔案寫在最後面,這樣應該就沒有差別了!


獻花 x1 回到頂端 [5 樓] From:台灣數位聯合 | Posted:2006-08-01 22:27 |
ety 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x719
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

我是直接用file_get_contents來讀文字檔內容的, 所以不用開檔, 直接讀到一個字串裡去, 然後再把 guest 的留言加上去之後再寫入檔案, 所以A和B若同時寫, 所讀到的是同一份內容, 然後就看誰比較慢寫, 誰的內容就是 加上之前的內容再寫回去, 一定會有一個人的留言沒存到(應該說被覆蓋掉了)!
我用了你的方式去寫, 沒問題耶, 這問題解決掉了!
我想了好久, 我猜, 你再讀檔時是用fopen去開檔再去讀, 這時另一位再讀的話, 一定不能讀, 等內容確實寫進去了才關檔, 另一位才會順利讀到並寫入, 這樣的確可以保證不會覆蓋到另一篇留言!
太謝謝你了, 讓我有了另一種寫程式的思考方向! ^^


獻花 x0 回到頂端 [6 樓] From:台灣和信超媒體 | Posted:2006-08-02 07:11 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.096917 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言