Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

164
Vistas
Control de carga de archivo AJAX POST a archivo PHP

Usando AJAX, estoy publicando el valor de control de carga de archivos en el archivo PHP.

control de carga de archivos a continuación:

 <input class="form-control" type="file" id="policy_image" name="policy_image" accept="image/*">

AJAX Llame a continuación:

 var file_data = $('#policy_image').prop('files')[0]; var policy_image = new FormData(); policy_image.append('file', file_data); $.ajax({ type: 'post', url: 'addpolicy.php', data: { 'policy': $('#policy').val(), 'policy_image': policy_image }, enctype: 'multipart/form-data', processData: false, contentType: false, success: function(data) { alert('Success'); } });

En mi archivo PHP obtengo el valor publicado como se muestra a continuación

archivo PHP:

 $name = $_POST['policy']; $imgFile = $_FILES['file']['name']; $tmp_dir = $_FILES['file']['tmp_name']; $imgSize = $_FILES['file']['size']; $upload_dir = 'assets/img/policy/'; // upload directory $imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension // valid image extensions $valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions // rename uploading image $userpic = rand(1000,1000000).".".$imgExt; // allow valid image file formats if(in_array($imgExt, $valid_extensions)){ // Check file size '5MB' if($imgSize < 5000000) { move_uploaded_file($tmp_dir,$upload_dir.$userpic); } else{ $errMSG = "Sorry, your file is too large."; } } else{ $errMSG = "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; } // if no error occured, continue .... if(!isset($errMSG)) { $stmt = $DB_con->prepare('INSERT INTO policy(name,image) VALUES(:name, :image)'); $stmt->bindParam(':name',$name); $stmt->bindParam(':image',$userpic); if($stmt->execute()) { $successMSG = "new record succesfully inserted ..."; } else { $errMSG = "error while inserting...."; } }

ahora recibo un error como Undefined index: policy e Undefined index: policy_image

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Prueba esto:

 var file_data = $('#policy_image').prop('files')[0]; var form_data = new FormData(); form_data.append('policy_image', file_data); $.ajax({ url : 'addpolicy.php', cache : false, contentType : false, processData : false, data : form_data, type : 'post', success : function(output){ alert(output); } });

PHP:

 if ( $_FILES['policy_image']['error'] > 0 ){ echo 'Error: ' . $_FILES['policy_image']['error'] . '<br>'; } else { if(move_uploaded_file($_FILES['policy_image']['tmp_name'], 'uploads/' . $_FILES['policy_image']['name'])) { echo "File Uploaded Successfully"; } }
about 4 years ago · Santiago Trujillo Denunciar

0

 upload.php $('#upload').on('click', function() { var file_data = $('#sortpicture').prop('files')[0]; var form_data = new FormData(); form_data.append('file', file_data); alert(form_data); $.ajax({ url: 'addpolicy.php', // point to server-side PHP script dataType: 'text', // what to expect back from the PHP script, if anything cache: false, contentType: false, processData: false, data: form_data, type: 'post', success: function(response){ alert(response); } }); }); addpolicy.php <?php if ( 0 < $_FILES['file']['error'] ) { echo 'Error: ' . $_FILES['file']['error'] . '<br>'; } else { move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']); echo "true"; } ?>
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda