2016-05-12 6 views
-1

キャリアページからcvを正常にアップロードしました。今私は電子メールでこれを送りたいと思う。cv wp-mailでメールを送信

アップロード一部

if ($_FILES['filecv']['name'] != "") { 
     $sqldata['att_ment'] = uploadCVFile($_FILES['filecv']); 
    } else { 
     $sqldata['att_ment'] = ''; 
    } 

CVが正常にアップロードされます。

uploadCVFile機能

function uploadCVFile($uploadedfile) 
{ 
    if (!function_exists('wp_handle_upload')) 
    require_once (ABSPATH . 'wp-admin/includes/file.php'); 
    $upload_overrides = array('test_form' => false); 
    add_filter('upload_dir', 'cv_uploads_dir'); 
    $movefile = wp_handle_upload($uploadedfile, $upload_overrides); 
    remove_filter('upload_dir', 'cv_uploads_dir'); 
    if ($movefile) { 
     return basename($movefile['file']); //$uploadedfile['name']; 
    } else { 
     return ""; 
    } 
    } 

パスが

function cv_uploads_dir($param) 
    { 
    $param['subdir'] = '/cvs'; 
    $param['path'] = $param['basedir'] . $param['subdir']; 
    $param['url'] = $param['baseurl'] . $param['subdir']; 
    return $param; 
    } 

を設定し、今私はwp_mail機能を使用して電子メールでこれを送りたいです。他のすべてのデータは正常に送信されますが、私はcvをどのように扱うべきか分かりません。

メール機能あなたのSendCareersEmail機能変更で

function SendCareers_Email($pst) 
{ 
$to = get_option('career_email'); 
$from = $pst['e-mail']; 
$name = $pst['firstname']; 
$cvname="/uploads/cvs/".$sqldata['att_ment']; 
$subject = "Applying for the job " . $pst['title']; 
$message= "Candidate Name:-" . $name . "<br/>"; 
$message .= "Job Title Applied:-" . $pst['title'] . "<br/>"; 
if(!empty($pst['country'])){ 
$message .= "Country Of Resindency:-" . $pst['country'] . "<br/>"; 
} 
if(!empty($pst['nationlaity'])){ 
$message .= "Nationlaity:-" . $pst['nationlaity'] . "<br/>"; 
} 
$attachments = array(WP_CONTENT_DIR . $cvname); 
if(!empty($pst['mobileno'])){ 
$message .= "Phone Number:-" . $pst['mobileno'] . "<br/>"; 
} 
add_filter('wp_mail_content_type', 'set_career_html_content_type'); 
$admin_headers = 'From: '.$name.' <'.$from .'>' . "\r\n\\"; 
wp_mail($to, $subject,$message , $admin_headers,$attachments); 
remove_filter('wp_mail_content_type', 'set_career_html_content_type'); 
} 
function set_career_html_content_type() 
{ 
    return 'text/html'; 
} 
+0

$ cvname = "/ uploads/cvs /" .$ sqldata ['att_ment']; $ sqldataを関数に渡す必要があります。それはまだ利用できません。または、$ sqldata ['att_ment']の代わりに$ _FILES ['filecv'] ['name']を使用してください。 – Brett

+0

$ _FILES ['filecv'] ['name']これを使用しました。 attachemtnを送信しない –

+0

これは私がスパゲッティコードと呼ぶものですが、命名規則について考えてもらえますか?いずれにしても、$ sqldata ['att_ment'] 'が存在しないのでuploadCVFilesメソッドに入ることはないようです。 – jycr753

答えて

1

この部分

$cvname="/uploads/cvs/".$_FILES['filecv']['name']; 

$attachments = array(
    $cvname 
); 

ときは(あなたのケースの$のPSTで)あなたが関数に渡す関数内でのみグローバル変数または変数ご利用いただけます。したがって、$ sqldataを関数SendCVEmail($ pst、$ sqldata)に渡すか、$ _FILES ['filecv'] ['name']のグローバル呼び出しを使用してください。

+0

これを削除しました。これはうまくいきませんでした。私はこれを使用しました\t $ attachments = array(WP_CONTENT_DIR。$ cvname); –

+0

$ cvname = "/ uploads/cvs /" .$_ FILES ['filecv'] ['name']; –

+0

質問を新しいコードの変更で更新できますか? – Brett