Хорошо, я уже несколько недель ищу ответ.
Отказ от ответственности
Я новичок в веб-разработке и изучил все самостоятельно.Иногда я застреваю, но я никогда не застревал раньше.
Проблема
Я хочу, чтобы на моем сайте была кнопка Загрузить, которая автоматически загружает изображение в папку и меняет фонизображение той же страницы без перенаправления.Путь этого изображения будет сохранен в файле cookie, который пользователь будет загружать при каждом доступе к странице, и то же изображение будет загружаться в качестве фонового изображения.Точно так же, как Google делает на своей стандартной вкладке в правой нижней части экрана.
Я исследовал и, очевидно, AJAX идеально подходит для этого сценария, поскольку он позволяет JQuery опосредовать файл php.Однако я не могу понять, как использовать его так, как мне нужно.
Это то, что у меня есть для кнопки, файла php и функции JJuery AJAX:
Код, который я простопоказал, что вы не работаете.
index.php
<form method="post" enctype="multipart/form-data" action="upload.php" id="file_uploader">
<div class="upload-btn-wrapper">
<button class="btn">Upload</button>
<input id="image_upload" type="file" name="file"/>
<button type="submit" value="Submit" class="btn" style="visibility:none;"></button>
</div>
</form>
.js
$(document).ready(function (e){
$("#uploadForm").on('submit',(function(e){
e.preventDefault();
$.ajax({
url: "upload.php",
type: "POST",
data: { imageurl : $final,},
dataType: 'json',
contentType: false,
cache: false,
processData:false,
success: function(result) {
alert($final);
document.body.style.backgroundImage = $final;
},
error: function(){}
});
}));
});
.php
if(isset($_FILES['userImage'])){
$errors= array();
$file_name = $_FILES['userImage']['name'];
$file_size =$_FILES['userImage']['size'];
$file_tmp =$_FILES['userImage']['tmp_name'];
$file_type=$_FILES['userImage']['type'];
$file_ext=strtolower(end(explode('.',$file_name)));
$extensions= array("jpeg","jpg","png");
if(in_array($file_ext,$extensions)=== false){
$errors[]="extension not allowed, please choose a JPEG or PNG file.";
}
$final = "url(Uploads/".$file_name.")";
if(empty($errors)==true){
move_uploaded_file($file_tmp,"Uploads/".$file_name);
echo "Success";
}else{
print_r($errors);
}
}
Потому чтоЯ использую XAMPP для тестирования перед фиксацией, он еще не работает, но даже изображение не меняется.