У меня есть рабочий php-код для загрузки изображения в базу данных. Возможно ли преобразовать его в jquery? Если да, что мне нужно делать? Я новичок в jquery btw. благодаря
Этот код работает отлично. Но мне нужно сделать это в jquery.
<form action = 'upload.php' method = 'post' enctype="multipart/form-data"> <input type="file" name="image" > <br> <input type= 'submit' value = 'Add' id = 'Add' name = 'Add'> </form> <?php if(isset($_FILES['image'])) { $target_Path = "images/"; $target_Path = $target_Path.basename($_FILES['image']['name'] ); move_uploaded_file( $_FILES['image']['tmp_name'], $target_Path ); $name = $_FILES['image']['name']; } if(isset($_POST['Add'])) { if($_POST["Add"] == "Add") { $add = "Insert Into img(path) Values('$name')"; $up = mysql_query($add); $status = "Upload success!"; print '<script type="text/javascript">'; print 'alert(" '.$status.' ")'; print '</script>'; } }
<form action='upload.php' method='post' enctype="multipart/form-data" id="formupload"> <input type="file" name="image"/> <br> <input type='submit' value='Add' id='Add' name='Add/> </form>
Вам нужно сначала настроить обратный вызов для события отправки формы.
$("#formupload").on("submit", upload_image);
$("#formupload")
выбирает элемент с идентификатором formupload
. on
используется для регистрации обработчика события. submit
элемента с идентификатором formupload
. Сделайте вызов AJAX скрипту php.
function upload_image(event){ event = event || window.event; // Prevent the default form action ie loading of a new page if(event.preventDefault){ // W3C Variant event.preventDefault(); } else{ // IE < 9 event.returnValue = false; } $.ajax({ url: "upload.php", type: "POST", data: new FormData($('#formupload')[0]), success : function(data){ // Show success message }, enctype: 'multipart/form-data', processData: false, contentType: false, cache: false }); }
$.ajax
который является утилитой jQuery для выполнения вызова AJAX. url
должно заполняться именем вашего PHP-скрипта. data
– это полезная нагрузка запроса POST, который является содержимым файла, который вы пытаетесь загрузить. success
, которое является функцией, которая будет вызываться при завершении загрузки файла. Вы можете сделать ajax-вызов вместо отправки формы. Вы можете использовать что-то вроде этого:
Хотя вам все равно нужен ваш php-код для хранения файла на вашем сервере