Php 将多个文件附加到电子邮件中,laravel
我正在尝试将任何文件附加到电子邮件中,并将名称插入数据库。但当我在控制台中执行var_dump()时,我只显示一个文件 我有一个输入类型文件多个:Php 将多个文件附加到电子邮件中,laravel,php,laravel,Php,Laravel,我正在尝试将任何文件附加到电子邮件中,并将名称插入数据库。但当我在控制台中执行var_dump()时,我只显示一个文件 我有一个输入类型文件多个: <input type="file" name="adjunto" id="adjunto" multiple> 在插入到formData()之后 我将所有值发送到控制器: public function setIncidenciaPost(Request $request){
<input type="file" name="adjunto" id="adjunto" multiple>
在插入到formData()之后
我将所有值发送到控制器:
public function setIncidenciaPost(Request $request){
$uploadedFile = [];
$filename = [];
// bloque para adjuntar fichero al email al abrirIncidencia
if($request->file('file') != ""){
$uploadedFile[] = $request->file('file');
$destino = public_path().'/subidas';
for($i=0; $i<count($filename); $i++){
$filename[] = $uploadedFile[$i]->getClientOriginalName();
}
for($i=0; $i<count($filename); $i++){
$uploadedFile->move($destino, $filename[$i]);
}
echo var_dump($uploadedFile);
exit();
}
//fin bloque
$resultado = \DB::table('incidencias')->insert([
'fecha_solicitud' => $request["fechaSolicitud"],
'fecha_respuesta' => $request["fechaRespuesta"],
'categoria' => $request["categoria"],
'asignadoA' => $request["tecnico"],
'solicitante' => $request["solicitante"],
'prioridad' => $request["prioridad"],
'estado' => "pendiente",
'asunto' => $request["asunto"],
'cuerpo' => $request["mensaje"],
'cliente' => $request["cliente"],
'adjunto' => $filename
]);
$idIncidencia = \DB::getPdo()->lastInsertId();
// ENVIA EMAIL A LOS TÉCNICOS CUANDO SE GENERA LA INCIDENCIA
$this->enviarEmail($request);
我可以显示我的文件。。。我不知道我做错了
谢谢你的帮助,对不起我的英语
更新
array(0) {
}
输入:
<input type="file" name="adjunto[]" id="adjunto" multiple>
控制器
public function setIncidenciaPost(Request $request){
$uploadedFile = [];
$filename = [];
// bloque para adjuntar fichero al email al abrirIncidencia
if($request->file('file') != ""){
$uploadedFile[] = $request->file('file');
$destino = public_path().'/subidas';
for($i=0; $i<count($filename); $i++){
$filename[] = $uploadedFile[$i]->getClientOriginalName();
}
for($i=0; $i<count($filename); $i++){
$uploadedFile->move($destino, $filename[$i]);
}
}
//fin bloque
echo var_dump($filename);
exit();
$resultado = \DB::table('incidencias')->insert([
'fecha_solicitud' => $request["fechaSolicitud"],
'fecha_respuesta' => $request["fechaRespuesta"],
'categoria' => $request["categoria"],
'asignadoA' => $request["tecnico"],
'solicitante' => $request["solicitante"],
'prioridad' => $request["prioridad"],
'estado' => "pendiente",
'asunto' => $request["asunto"],
'cuerpo' => $request["mensaje"],
'cliente' => $request["cliente"],
'adjunto' => $filename
]);
$idIncidencia = \DB::getPdo()->lastInsertId();
// ENVIA EMAIL A LOS TÉCNICOS CUANDO SE GENERA LA INCIDENCIA
$this->enviarEmail($request);
}
您有一个文件,因为您正在上载一个文件。输入的名称应该用括号括起来,如:
这样,它应该以文件数组的形式出现
multiple
是指浏览器允许您一次选择多个文件。这是否回答了您的问题@KamleshPaul感谢您的回复,我展示了它,但是没有,为什么我要用jQueryTanks获取所有文件以供您的回复@ZarkoAtanasov,但是,如果您能看到我的代码和我在更改您的回复代码后的回复。。。我在拉维尔做这件事。
<input type="file" name="adjunto[]" id="adjunto" multiple>
var fechaSolicitud = $("#fechaSolicitud").val();
var categoria = $("#categoria").val();
var prioridad = $("#Abrirprioridad").val();
var telefono = $("#telefonoContacto").val();
var asunto = $("#asunto").val();
var mensaje = $("#cuerpoMensaje").val();
var token = $("#token").val();
var archivo = $("#adjunto").prop('files');
var nombreArchivo = $("#adjunto").val();
var formData = new FormData();
formData.append('file', archivo);
formData.append('fechaSolicitud', fechaSolicitud);
formData.append('categoria', categoria);
formData.append('prioridad', prioridad);
formData.append('asunto', asunto);
formData.append('mensaje', mensaje);
formData.append('solicitante', codigoSolicitante);
formData.append('cliente', codigoCliente);
formData.append('tecnico', tecnicoSeleccionado);
formData.append('telefono', telefono);
$.ajax({
url: "/setIncidencia",
type: "POST",
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
contentType: false,
processData: false,
cache: false,
data: formData,
success: function(data){
$("#correcto").show();
$("#correcto").append("Incidencia Generada");
console.log(data);
public function setIncidenciaPost(Request $request){
$uploadedFile = [];
$filename = [];
// bloque para adjuntar fichero al email al abrirIncidencia
if($request->file('file') != ""){
$uploadedFile[] = $request->file('file');
$destino = public_path().'/subidas';
for($i=0; $i<count($filename); $i++){
$filename[] = $uploadedFile[$i]->getClientOriginalName();
}
for($i=0; $i<count($filename); $i++){
$uploadedFile->move($destino, $filename[$i]);
}
}
//fin bloque
echo var_dump($filename);
exit();
$resultado = \DB::table('incidencias')->insert([
'fecha_solicitud' => $request["fechaSolicitud"],
'fecha_respuesta' => $request["fechaRespuesta"],
'categoria' => $request["categoria"],
'asignadoA' => $request["tecnico"],
'solicitante' => $request["solicitante"],
'prioridad' => $request["prioridad"],
'estado' => "pendiente",
'asunto' => $request["asunto"],
'cuerpo' => $request["mensaje"],
'cliente' => $request["cliente"],
'adjunto' => $filename
]);
$idIncidencia = \DB::getPdo()->lastInsertId();
// ENVIA EMAIL A LOS TÉCNICOS CUANDO SE GENERA LA INCIDENCIA
$this->enviarEmail($request);
}
array(0) {
}