2012-03-15 42 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块,但这应该工作的权利开箱。