Я успешно загрузил изображения на свой сервер, используя следующий код, адаптированный из https://www.tutorialrepublic.com/php-tutorial/php-file-upload.php:
<html>
<head>
<meta charset="UTF-8">
<title>File Upload Form</title>
</head>
<body>
<form action="formtest1.php" method="post" enctype="multipart/form-data">
<h2>Upload File</h2>
<label for="fileSelect">Filename:</label>
<input type="file" name="photo" id="fileSelect">
<input type="submit" name="submit" id="submit" value="Upload">
<p><strong>Note:</strong> Only .jpg, .jpeg, .gif, .png formats allowed to a max size of 5 MB.</p>
</form>
</body>
</html>
<?php
if($_SERVER["REQUEST_METHOD"] == "POST"){
if(isset($_FILES["photo"]) && $_FILES["photo"]["error"] == 0){
$allowed = array("jpg" => "image/jpg", "jpeg" => "image/jpeg", "gif" => "image/gif", "png" => "image/png");
$filename = $_FILES["photo"]["name"];
$filetype = $_FILES["photo"]["type"];
$filesize = $_FILES["photo"]["size"];
$filepath = "/Users/this/Desktop/Web/" . $_FILES["photo"]["name"];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if(!array_key_exists($ext, $allowed)) die("Error: Please select a valid file format.");
$maxsize = 5 * 1024 * 1024;
if($filesize > $maxsize) die("Error: File size is larger than the allowed limit.");
if(in_array($filetype, $allowed)){
if(file_exists("/Users/this/Desktop/Web/" . $filename)){
echo $filename . " is already exists.";
} else{
move_uploaded_file($_FILES["photo"]["tmp_name"], "/Users/this/Desktop/Web/" . $filename);
echo "Your file was uploaded successfully.";
}
} else{
echo "Error: There was a problem uploading your file. Please try again.";
}
} else{
echo "Error: " . $_FILES["photo"]["error"];
}
}
?>
, но хотел бы иметь php-код в отдельном файле с именем imagetest.php
, который будетвызывается, когда пользователь нажимает кнопку «выбрать файл». imagetest.php
находится в той же папке, что и файл выше. Я пробовал много разных итераций следующей функции jquery / ajax, но безрезультатно, кто-то может мне помочь?
$(document).ready(function(){
$("submit").click(function(){
$.ajax({
type: "POST",
url: "testing/imagetest.php",
dataType: 'json',
success: function(response){
console.log('Your photo was uploaded successfully.');
}
});
});
}
</script>
Большое спасибо.