[請益] 跑迴圏卻只有最後一次有效

看板PHP作者 (=口=")時間19年前 (2006/07/28 00:02), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
我這段程式的目的寫一個依照檔案內容產生縮圖的相簿列表。 $album=file("albums.txt"); //讀取相簿列表檔 $arrayc=count($album); //計算陣列元素數目 for($i=0 ; $i<$arrayc ; $i++) { $spec=explode(",",$album[$i]); //將相簿資料以逗點切開存入陣列 $picwh=GetImageSize("$spec[2]"); //讀取路徑所連圖片寬高 if ( $picwh[0] > $picwh[1]) {//橫條型 $pich=ceil((100/$picwh[0])*$picwh[1]); //計算修改後比例並取整數 echo "<img src=\"$spec[2]\" width=\"100\" height=\"$pich\" border=\"0\" />"; } else {//直條型 $picw=ceil((100/$picwh[1])*$picwh[0]); echo "<img src=\"$spec[2]\" width=\"$picw\" height=\"100\" border=\"0\" />"; } } 目前碰到一個很奇怪的問題,假如這個迴圈必須跑四次, 前面三次都會找不到檔案,使得GetImageSize產生錯誤, 但是最後一次迴圈會是成功的XD 我曾在程式碼中加入一行is_readable去檢查檔案存在, 也只有最後一次函式會傳回Ture,前面不管幾次都是不存在。 變數裡面的值都曾經插入函式去檢查過了,都是正確的, 這實在讓我百思不得其解。 想了一個下午真的找不到原因 囧 只好請大家幫個忙 QQ 執行環境是Apache 1.3.31 PHP 4.3.8 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.42.27

07/28 20:08, , 1F
會不會是值裡有看不到的換行或空白? 檢查這些東西看看
07/28 20:08, 1F

07/28 20:10, , 2F

07/28 20:10, , 3F
它說Each element of the array corresponds to a line in
07/28 20:10, 3F

07/28 20:10, , 4F
the file, with the newline *still attached.*
07/28 20:10, 4F

07/28 20:11, , 5F
用rtrim清掉就好了
07/28 20:11, 5F

07/28 22:32, , 6F
原來換行符號對於PHP程式來說是有意義的喔...感謝指導~
07/28 22:32, 6F
文章代碼(AID): #14oEEnwz (PHP)
文章代碼(AID): #14oEEnwz (PHP)