2017-09-23 5 views
0

複数のファイルをフォームに添付して電子メールアドレスに送信しようとしていますが、フォームを作成してファイルを添付することができました。私はアップロードした最後のファイルである私のメールアドレスに1つのファイルしか得ていません。私は何が間違っているのか分かりません。私はあなたに以下のコードを残します。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> 

あなたがこの方法を実行しない場合は、あなただけでも、あなたが選択した最後に選択したファイルを送信するより

関連する問題