2017-09-23 13 views
0

양식에 여러 파일을 첨부하고 이메일 주소로 파일을 보내려고합니다. 양식을 만들고 파일을 첨부 할 수있게했습니다. 문제가 있습니다. 나는 내가 업로드 한 마지막 파일 인 내 이메일 주소에 하나의 파일 만 가져올 것이고, 내가 뭘 잘못하고 있는지 모르겠다. 나는 너희들에게 아래의 코드를 남겨 둘 것이다.Octobercms 여러 파일 첨부

<?php namespace CustomDesign\Damasdelite\Components; 

use Cms\Classes\ComponentBase; 
use CustomDesign\Damasdelite\Models\Cliente; 
use CustomDesign\Damasdelite\Models\Categoria; 
use Input; 
use Mail; 

class DamasForm extends ComponentBase{ 



public function componentDetails(){ 

return [ 
    'name' => 'Formulario de Damas', 
    'description' => 'Agregar Damas' 
]; 

    } 



public function onSave(){ 

$cliente = new Cliente(); 
$cliente->nombre = Input::get('nombre'); 
$cliente->slug = strtolower(Input::get('nombre')); 
$cliente->poster = Input::file('poster'); 
$cliente->galeria = Input::file('galeria'); 
$cliente->correo = Input::get('correo'); 
$cliente->monto = Input::get('monto'); 
$cliente->celular = Input::get('celular'); 
$cliente->edad = Input::get('edad'); 
$cliente->categoria = Input::get('categoria'); 
$cliente->estado = Input::get('estado'); 
$cliente->ciudad = Input::get('ciudad'); 
$cliente->piel = Input::get('piel'); 
$cliente->cabello = Input::get('cabello'); 
$cliente->ojos = Input::get('ojos'); 
$cliente->peso = Input::get('peso'); 
$cliente->altura = Input::get('altura'); 
$cliente->tipo_cuerpo = Input::get('tipo_cuerpo'); 
$cliente->vip = Input::get('vip'); 
$cliente->depilada = Input::get('depilada'); 
$cliente->medidas = Input::get('medidas'); 
$cliente->fuma = Input::get('fuma'); 
$cliente->horario = Input::get('horario'); 
$cliente->promocion = Input::get('promocion'); 
$cliente->locacion = Input::get('locacion'); 
$cliente->servicios = Input::get('servicios'); 
$cliente->descripcion = Input::get('descripcion'); 
$cliente->plan = Input::get('plan'); 
$cliente->save(); 

$vars = [ 
    'nombre' => Input::get('nombre'), 
    'slug' => strtolower(Input::get('nombre')), 
    'poster' => Input::file('poster'), 
    'galeria' => Input::file('galeria'), 
    'correo' => Input::get('correo'), 
    'monto' => Input::get('monto'), 
    'celular' => Input::get('celular'), 
    'edad' => Input::get('edad'), 
    'categoria' => Input::get('categoria'), 
    'estado' => Input::get('estado'), 
    'ciudad' => Input::get('ciudad'), 
    'piel' => Input::get('piel'), 
    'cabello' => Input::get('cabello'), 
    'ojos' => Input::get('ojos'), 
    'peso' => Input::get('peso'), 
    'altura' => Input::get('altura'), 
    'tipo_cuerpo' => Input::get('tipo_cuerpo'), 
    'vip' => Input::get('vip'), 
    'depilada' => Input::get('depilada'), 
    'medidas' => Input::get('medidas'), 
    'fuma' => Input::get('fuma'), 
    'horario' => Input::get('horario'), 
    'promocion' => Input::get('promocion'), 
    'locacion' => Input::get('locacion'), 
    'servicios' => Input::get('servicios'), 
    'descripcion' => Input::get('descripcion'), 
    'plan' => Input::get('plan') 
]; 

$attachments = []; 
foreach($cliente->galeria as $image) { 
    $attachments[] = $image; 
} 

Mail::send('customdesign.damasdelite::mail.damasmessage', $vars, function($message) use ($attachments) { 

    foreach($attachments as $attachment) { 
    $params = ['as' => $attachment->getFilename()/*, 'mime' => $mime*/]; 
    $message->attach($attachment->getLocalPath(), $params); 
    } 

    $message->to('[email protected]', 'Damas de Elite'); 
    $message->subject('Nuevo Contacto'); 

}); 

    } 
} 

감사합니다. 여기

양식의 HTML이다, 난 당신이 속성 multiple 여러 파일을 보내려면 당신이 요 대신 배열 이름을 사용하게

<form method="POST" class="formulario" action="{{ url('anunciate') }}" role="form" accept-charset="UTF-8" enctype="multipart/form-data" class="formularios"> 
    <input type="hidden" name="_handler" value="onSave"> 
    {{ form_token() }} 
    {{ form_sessionKey() }} 
    <div class="columnas"> 
     <div class="c12 t4 d4 input-grupo"> 
      <label class="label" >Main Image</label> 
      <input type="file" name="poster"> 
     </div> 
     <div class="c12 t4 d4 input-grupo"> 
      <label class="label" >Gallery</label> 
      <input type="file" name="galeria" multiple> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <input type="text" name="nombre" placeholder="Tu Nombre"> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <input type="text" name="monto" placeholder="Cuanto Cobras"> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <input type="email" name="correo" placeholder="Tu E-mail"> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <input type="text" name="celular" placeholder="Tu Celular"> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <input type="text" name="edad" placeholder="Tu Edad"> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <input type="text" name="peso" placeholder="Cuanto Pesas"> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <input type="text" name="altura" placeholder="Cuanto Mides"> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <input type="text" name="medidas" placeholder="Cuales son tus Medidas"> 
     </div> 
     <div class="c12 t3 d3 input-grupo bajar"> 
      <input type="text" name="horario" placeholder="Cual es tu Horario de Trabajo" > 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <select name="plan" id="plan"> 
       // options 
      </select> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <select name="categoria"> 
       // options 
      </select> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <input type="text" name="ciudad" placeholder="En que ciudades trabajas?"> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <select name="estado"> 
       // options 
      </select> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <select name="piel"> 
       //options 
      </select> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <select name="cabello"> 
       //options 
      </select> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <select name="ojos"> 
       //options 
      </select> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <select name="tipo_cuerpo"> 
       //options 
      </select> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <select name="depilada"> 
       //options 
      </select> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <select name="fuma"> 
       //options 
      </select> 
     </div> 
     <div class="c12 t3 d3 input-grupo"> 
      <select name="vip"> 
       //options 
      </select> 
     </div> 
     <div class="c12 t12 d12">Escoge los sitios donde atiendes y todos los servicios que ofreces</div> 
     <div class="c12 t3 d3"> 
      <input type="checkbox" name="locacion[]" value="Hoteles"> Hoteles<br /> 
     // one option as an example 
     </div> 
     <div class="c12 t3 d3"> 
      //input type checkbox 
     </div> 
     <div class="c12 t3 d3"> 
      //input type checkbox 
     </div> 
     <div class="c12 t12 d12 "> 
      <label class="label">Tienes alguna promoción?</label> 
      <textarea class= "editor redondo-0 sombra-1" name="promocion" cols="25" rows="10"></textarea> 
     </div> 
     <div class="c12 t12 d12 "> 
      <label class="label">Descripción</label> 
      <textarea class= "editor redondo-0 sombra-1" name="descripcion" cols="25" rows="10"></textarea> 
     </div> 
     <div class="c2 t1 d1 input-grupo checkbox"> 
      <button type="submit" class="btn">Guardar</button> 
     </div> 
    </div> 
    </form> 
+0

그리고 HTML 양식이 같이 어떻게?, 내가 생각 그쪽으로 그것은 HTML 파일 입력 양식에 문제가있어 – OsDev

+0

양식의 html로 질문을 편집하고 모든 반복적 인 정보를 더 짧고 쉽게 읽을 수 있도록 @OsDev를 읽습니다. –

답변

0

을 읽을 수는 짧고 쉽게하기 위해 모든 옵션을했다

<input type="file" name="galeria[]" multiple> 

이 방법을하지 않으면, 당신은 심지어 당신이 선택했던 마지막으로 선택한 파일을 보내드립니다 더