Ich bin neu in Jquery, Ajax und PHP. Ich habe ein Programm geschrieben, das Dateien als Blob-Datei in eine Datenbank hochlädt. Es ist mir gelungen, die Datei in die Datenbank hochzuladen. aber hier kommt ein Problem, jetzt kann ich die Erfolgsmeldung in dem <div id="msg"></div>
Abschnitt nicht drucken , nachdem die Datei gesendet wurde . Ich habe die anderen Möglichkeiten und Fragen ausprobiert, die im Stackover-Flow gestellt wurden, aber keine hat für mich geklappt. die Datei " index.php "
enthält Code für Ajax und Datei-Upload, wobei die upload.php Logik zum Einfügen der Datei in die Datenbank enthält.
index.php
<?php include_once 'dbconfig.php'; ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>File upload</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#button").click(function() {
var formData = new FormData();
formData.append('file', $('#file')[0].files[0]);
$.ajax({
url : 'upload.php',
type : 'POST',
data : formData,
processData: false,
contentType: false,
success : function(data) {
//console.log(data);
document.getElementbyID("msg").innerHTML()="";
alert(data);
}
});
});
});
</script>
</head>
<body>
<div id="header">
<tt>Upload file</tt>
</div>
<div id="msg"></div>
<form id="form" name="form" enctype="multipart/form-data">
<input type="file" name="file" id="file" />
<button id="button" name="button"/>Submit</button>
</form>
</body>
</html>
upload.php
<?php
include_once 'dbconfig.php';
$file = rand(1000, 100000)."-".$_FILES['file']['name'];
$file_loc = $_FILES['file']['tmp_name'];
$file_size = $_FILES['file']['size'];
$file_type = $_FILES['file']['type'];
$folder = "upload/";
// new file size in KiloByte
$new_size = $file_size / 1024;
// make file name in lower case
$new_file_name = strtolower($file);
$final_file=str_replace(' ', '-', $new_file_name);
if (move_uploaded_file($file_loc, $folder.$final_file)) {
$sql = "INSERT INTO files(file) VALUES('$final_file')";
mysqli_query($connection, $sql);
mysqli_close($connection);
}
?>
Sie müssen die Antwort zuerst in PHP drucken. print "File uploaded successfully!!";
Nach mysqli_close($connection);
Zeile hinzufügen . JQuery-Code scheint korrekt zu sein.
<?php
include_once 'dbconfig.php';
try {
$file = rand(1000,100000)."-".$_FILES['file']['name'];
$file_loc = $_FILES['file']['tmp_name'];
$file_size = $_FILES['file']['size'];
$file_type = $_FILES['file']['type'];
$folder="upload/";
// new file size in KiloByte
$new_size = $file_size/1024;
// make file name in lower case
$new_file_name = strtolower($file);
$final_file=str_replace(' ','-',$new_file_name);
if(move_uploaded_file($file_loc,$folder.$final_file))
{
$sql="INSERT INTO files(file) VALUES('$final_file')";
mysqli_query($connection,$sql);
print "success";
}
else
{
print "error";
}
} catch ( Exception $e ) {
print "error";
}finally {
mysqli_close($connection);
}
?>
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen