我正在尝试通过单击某个元素中的现有图像来上传图像。
因此,用户将单击图像,将显示文件上传对话框,当用户从文件对话框中选择图像时,表单会自动提交表单并重新加载页面。
这是我的一些代码:
$(document).ready(function() {
$('#profile').click(function(e){
$('#fileUploadField').click();
e.preventDefault();
});
header('Location: ' . $current_file);
});
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="profile" id="fileUploadField"> <input type="submit">
</form>
配置文件 div 是包含图像的位置
我已经有了显示图像的代码。我只需要打开对话框,然后在关闭时提交表单并刷新页面。
这是我的其他代码:
<?php
if (isset($_FILES['profile']) === true) {
if (empty($_FILES['profile']['name']) === true) {
echo 'Please choose a file!';
} else {
$allowed = array('jpg', 'jpeg', 'gif', 'png');
$file_name = $_FILES['profile']['name'];
$file_extn = strtolower(end(explode('.', $file_name)));
$file_temp = $_FILES['profile']['tmp_name'];
if (in_array($file_extn, $allowed) === true) {
change_profile_image($session_user_id, $file_temp, $file_extn);
header('Location: ' . $current_file);
exit();
} else {
echo 'Incorrect file type. Allowed: ';
echo implode(', ', $allowed);
}
}
}
if (empty($user_data['picture']) === false) {
echo '<img src="', $user_data['picture'], '" alt="', $user_data['firstname'], '\'s Profile Image" style="height:100px">';
}
?>