少し問題を解決する必要があります。 jqueryでtmpイメージを送信しようとしましたが、結果は未定義です。 マイコード:Jqueryで入力ファイル変数
$(document).on("click",".subImagen", function(e) {
// VARIABLES
//var imagen = $('#sbImagen').val();
var imagen = $('#sbImagen')[0].files[0];
var imagenSize = $('#sbImagen')[0].files[0].size;
var imagenNombre = $('#sbImagen')[0].files[0].name;
var imagenType = $('#sbImagen')[0].files[0].type;
var params = '&imagen='+imagen+'&imagenSize='+imagenSize+'&imagenNombre='+imagenNombre+'&imagenType='+imagenType;
// ENVIO DE VARIABLES
$.post('classes/subirImagen', params, function(jsondatareg){
if(jsondatareg.validacion == 'exito'){
var url = 'inventario_f';
swal({
title: "IMAGEN SUBIDA",
text: jsondatareg.mensaje,
timer: 2500,
type: "success",
showConfirmButton: false
});
setTimeout(function() {
window.location = url;
}, 3000);
}
if(jsondatareg.validacion == 'error'){
swal({
title: "ERROR",
text: jsondatareg.mensaje,
timer: 2500,
type: "error",
showConfirmButton: false
});
}
},'json');
});
このコードは正常に動作しますが、私はあまりにもtmp_nameを送信する必要があります。
PHPコード:
<?php
header("Content-Type: text/html;charset=utf-8");
$imagen = $_REQUEST['imagen'];
$imagenSize = $_REQUEST['imagenSize'];
$imagenNombre = $_REQUEST['imagenNombre'];
$imagenType = $_REQUEST['imagenType'];
if (($imagenNombre == !NULL) && ($imagenSize <= 20000000)){
if ($imagenType == "image/png"){
$directorio = $_SERVER['DOCUMENT_ROOT'].'/assets/images/productos/';
move_uploaded_file($_FILES['imagen']['tmp_name'],$directorio.$imagenNombre);
$datareg['validacion'] = 'exito';
$datareg['mensaje'] = "SE HA SUBIDO LA IMAGEN CORRECTAMENTE.";
}else{
$datareg['validacion'] = 'error';
$datareg['mensaje'] = "LA IMAGEN QUE INTENTAS SUBIR NO TIENE EL FORMATO .PNG";
}
}else{
if($imagenNombre == !NULL){
$datareg['validacion'] = 'error';
$datareg['mensaje'] = "LA IMAGEN SUPERA EL TAMAÑO PERMITIDO.";
}else{
$datareg['validacion'] = 'error';
$datareg['mensaje'] = "NO HAS PUESTO NINGUNA IMAGEN.";
}
}
echo json_encode($datareg);
?>
問題は、次の行である:move_uploaded_file($ _ FILES [ 'イマヘン'] [ 'tmp_name']、$のdirectorio $ imagenNombre)。$ _FILES ['imagen'] ['tmp_name']をjqueryに送信できないためです。どうすれば修正できますか?