本帖最后由 Eiffel 于 2008-12-31 21:03 编辑
這個問題自uc1.0已發現.現在還未有改好.
1. 如果我使用ff,無法上傳頭像
2. 使用ie,可以上傳,但無法記錄 (data/tmp文件不能移到data/avatar/xxx/xx/xx)
主要原因是: 我是租用linus伺服器的,
model/base.php 內的 function set_home 中
mkdir($dir.'/'.$dir1, 0777); 只能創建目錄但,不能自動替它設成777.
我在ftp查看了,它創建的目錄是按預設成為755,
之後系統再執行mkdir($dir.'/'.$dir1.'/'.$dir2, 0777)時,就無法建立目錄了.
須自行在ftp把創建的目錄刪去,再開一個,然後改屬性777.
這樣自己做好三層的目錄才能正常上傳.
我自己的解決辦法是取消頭像分目錄存放.全部都放在data/avatar內
修改 model\base.php及avatar.php的function get_avatar 如下:
- function get_avatar($uid, $size = 'middle', $type = '') {
- $size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
- $uid = abs(intval($uid));
- // $uid = sprintf("%09d", $uid);
- $dir1 = substr($uid, 0, 3);
- $dir2 = substr($uid, 3, 2);
- $dir3 = substr($uid, 5, 2);
- $typeadd = $type == 'real' ? '_real' : '';
- // return $dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).$typeadd."_avatar_$size.jpg";
- return $uid.$typeadd."_avatar_$size.jpg";
- }
复制代码 |