2012-03-15 44 views
0

如果文件成功上傳,試圖讓我的腳本向我發送電子郵件。這裏是我的文件保存到服務器username.site.zip腳本的一部分:帶有if/else語句的PHP函數內部函數

if ($this->file->save($uploadDirectory . $_SESSION['myusername'] . '.site.' . $ext)){ 
     return array('success'=>true);} 
    else {  
     return array('error'=> 'Could not save uploaded file.' . 
      'The upload was cancelled, or server error encountered'); 
    } 

我不太知道如何在郵件功能增加,這樣,如果它成功=> true,那麼它會發送郵件('[email protected]','subject','body');

任何幫助將是偉大的。

+0

您是否嘗試添加它? – 2012-03-15 00:19:25

+1

從這裏開始http://php.net/manual/en/function.mail.php廣泛閱讀後回來 – JimmyBanks 2012-03-15 00:19:46

+0

我嘗試添加它,我是PHP新手,所以我試圖在成功數組後添加它並嘗試以此爲基礎,而不是事先考慮它。在返回數組和之前的if語句之間。新手錯誤,但現在正在工作。 – CodingNoob 2012-03-15 00:41:21

回答

0
<?php 
if ($this->file->save($uploadDirectory . $_SESSION['myusername'] . '.site.' . $ext)){ 
    $message = "The file was successfully uploaded."; 
    mail('[email protected]', 'My Subject', $message); 
    return array('success'=>true); 
} else {  
    return array('error'=> 'Could not save uploaded file.' . 
     'The upload was cancelled, or server error encountered'); 
} 
?> 

你有它。不知道你還需要什麼。

+0

我設置了 返回數組('success'=> true); 不知道是否會停止命令。 – CodingNoob 2012-03-15 00:30:07

+0

是的,返回一個值後,PHP至少根據[this](http://php.net/manual/en/function.return.php)結束函數其餘部分的執行。另外,請標記幫助您正確的答案。 – 2012-03-15 21:40:04

0

success=>true陣列的這樣的回報率前右側插入您的郵件命令:

if ($this->file->save($uploadDirectory . $_SESSION['myusername'] . '.site.' . $ext)){ 

    mail('[email protected]','subject','body'); 

    return array('success'=>true);} 
else {  
    return array('error'=> 'Could not save uploaded file.' . 
     'The upload was cancelled, or server error encountered'); 
} 

也許它封裝在一個try-catch塊,但這應該工作的權利開箱。