作者azhu (=口=")
看板PHP
標題[請益] 跑迴圏卻只有最後一次有效
時間Fri Jul 28 00:15:38 2006
我這段程式的目的寫一個依照檔案內容產生縮圖的相簿列表。
$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
1F:推 LPH66:會不會是值裡有看不到的換行或空白? 檢查這些東西看看 07/28 20:08
3F:→ LPH66:它說Each element of the array corresponds to a line in 07/28 20:10
4F:→ LPH66:the file, with the newline *still attached.* 07/28 20:10
5F:→ LPH66:用rtrim清掉就好了 07/28 20:11
6F:→ azhu:原來換行符號對於PHP程式來說是有意義的喔...感謝指導~ 07/28 22:32