1 頁 (共 1 頁)

[問題]如何判斷圖檔是否存在?? [已解決]

發表於 : 2004-01-30 17:50
超級牛
是這樣的,
弟在目錄裡多放了一個使用者相片的目錄,
但是, 並不是每一位使用者都願意上傳相片進來,
所以~
有沒有辨法有一個判斷方式是,
當使用者有上傳JPG相片時, 就秀使用者相片,
而當使用者未上傳相片時就預設一張相片,

對了~ 這個功能並不是 "頭像預設"
而是弟在個人資料內另開的一個圖檔連結,
假設使用者名稱是 "ABC", 那麼就會將ABC.JPG秀在個人資料內!!

PS, 由於弟的站是在公司的Intranet上, 所以沒辨法公布!!

發表於 : 2004-01-30 17:56
Martinet
看你的文章...感覺是 你已經作了上傳的介面?......
如果是的話....
作得出來這個怎麼會不知道這個怎麼寫=.=!!!.....................

如果你以為上傳大頭照跟選擇頭像不一樣的話......
我可以告訴你 , 直接來作的話那是不行的@"@

...當然改程式就行....

發表於 : 2004-01-31 14:11
超級牛
[quote="Martinet"]看你的文章...感覺是 你已經作了上傳的介面?......
quote]

其實因為是在IntraNET內的, 所以我並沒有做上傳介面,
而是使用資料夾分享的方式來讓使用者自行將杷片置入,
也就是因為這樣, 我才沒辨法控制使用者是不是有上傳相片,
所以我才須要能有一個方法來判斷圖檔是不是存在!!

發表於 : 2004-01-31 14:51
Martinet
超級牛 寫: 其實因為是在IntraNET內的, 所以我並沒有做上傳介面,
而是使用資料夾分享的方式來讓使用者自行將杷片置入,
也就是因為這樣, 我才沒辨法控制使用者是不是有上傳相片,
所以我才須要能有一個方法來判斷圖檔是不是存在!!
那這樣沒辦法吧..........因為這樣使用者可以上傳一堆不同檔名的東西...

基本上..以我現有的知識 , 要判斷他有沒有上傳..需要在上傳時動手腳 , 也就是說需要一個上傳介面..

發表於 : 2004-01-31 17:35
GeniusKiKi
http://phpbb-tw.net/phpbb/viewtopic.php?t=21737

參考看看這篇文章
然後每個用戶開一個資料夾給他(木亥火暴)
裡面都丟一個這樣的檔案
這樣也許會簡單許多

發表於 : 2004-01-31 17:50
bu
try...

[php]<?php
$username=userdata['username'];
$path='path/to/it/' . $username . '.gif';

if (file_exists($path)) {
$xximg = $path;
} else {
$xximg = 'defimg.gif';
}

?>[/php]

您看看是不是您要的... ^^"

發表於 : 2004-02-02 11:01
超級牛
bu 寫:try...


您看看是不是您要的... ^^"
我剛試了這個語法,
在 profile.php 的最下方加了

// Cho 判斷使用者圖檔是否存在\r
$username=userdata['username'];
$userimg1='../Pictures/UserPics/' . $username . '.jpg';
$userimg2='../Pictures/UserPics/no-image.gif';

if (file_exists($userimg1)) {
$user-img = $userimg1;
} else {
$user-img = $userimg2;
}

然後再將 profile_view_body.tpl 內的使用者相片改成
<img src="{USER-IMG}" border="0" alt="{USERNAME}" onload="javascript:if(this.width>screen.width-350) this.width=screen.width-350">

可是, 一開使用者的內容時就跑出,
Parse error: parse error, unexpected '[' in c:\appserv\pwc\profile.php on line 133

就是 $username=userdata['username']; 這一行就有問題??

這又是那有問題??

發表於 : 2004-02-02 11:02
超級牛
GeniusKiKi 寫:http://phpbb-tw.net/phpbb/viewtopic.php?t=21737

參考看看這篇文章
然後每個用戶開一個資料夾給他(木亥火暴)
裡面都丟一個這樣的檔案
這樣也許會簡單許多
Thanks..
我會試者做做看!!

發表於 : 2004-02-02 13:39
bu
$username=$userdata['username'];
^^" 才對...

發表於 : 2004-02-02 17:25
超級牛
bu 寫:$username=$userdata['username'];
^^" 才對...
嗯~ 原則上我在中午1:30左右就找到了少掉了的"$"... (但是下面還是會有錯)
所以又將 "=" 改成了 "==" 才可以執行.
目前的程式是這樣的..

// Cho 判斷使用者圖檔是否存在\r
$username=$userdata['username'];
$userimg1='../Pictures/UserPics/' . $username . '.jpg';
$userimg2='../Pictures/UserPics/no-image.gif';

if (file_exists($userimg1)) {
$user-img == $userimg1;
} else {
$user-img == $userimg2;
}

$template->assign_vars(array('user-img' => $userimg1,));
$template->pparse('view_body');
// Cho 判斷使用者圖檔是否存在\r

在最後面兩行, 我試圖將user-img回給profile_view_body,
但是在profile_view_body內加入的{user-img}內卻抓不到這個變數..
這... 又是那兒做錯了??

發表於 : 2004-02-04 01:37
超級牛
弄了幾天, 終於搞定了!!
原來.. 一開始就弄錯了檔案..

關鍵在於 \includes\usercp_viewprofile.php

祗要加入判斷式
$username=$profiledata['username'];
$checkimg="./Pictures/UserPict/" . $username . ".jpg";
$no_image="./Pictures/UserPict/no-image.gif";

if (file_exists($checkimg))
{$user_img = $checkimg;}
else
{$user_img = $no_image;}

然後再將 $user_img 回給 profile_view_body 就大功告成囉!!
'USER_IMG' => $user_img,