我在自己的网站上有一个简单的upload profile avatar form
,我想在选择图片后自动上传..
我尝试使用onchange()
JS:
document.getElementById("file").onchange = function() {
document.getElementById("form").submit();
};
Jquery的:
$('#file').change(function() {
$('#target').submit();
});
HTML:
<input type="file" name="file" onchange="form.submit()">
但由于一些奇怪的原因,它不适用于我的upload.php
页面,在选择文件之后它只是重定向到upload.php而没有让它的代码工作,显示一个空白页面。
如果这是我的upload.php
代码:
<?php
include_once 'includes/dbh.inc.php';
include_once 'includes/vars.inc.php';
if (isset($_POST['submit'])) {
$file = $_FILES['file'];
$fileNAME = $_FILES['file']['name'];
$fileTYPE = $_FILES['file']['type'];
$fileTMPNM = $_FILES['file']['tmp_name'];
$fileERROR = $_FILES['file']['error'];
$fileSIZE = $_FILES['file']['size'];
$fileEXT = explode('.', $fileNAME);
$fileACTUALEXT = strtolower(end($fileEXT));
$fileALLOWED = array('jpg', 'jpeg', 'png', 'gif');
if (in_array($fileACTUALEXT, $fileALLOWED)) {
if ($fileERROR === 0) {
if ($fileSIZE < 5000000) {
$fileNEWNAME = $userUID."-avatar.".$fileACTUALEXT;
$fileROOT = 'content/uploads/'.$fileNEWNAME;
move_uploaded_file($fileTMPNM, $fileROOT);
$sql = "UPDATE user_meta SET um_avatar_status=0 WHERE um_user_id='$userID';";
$result = mysqli_query($conn, $sql);
header('Location: '.$siteurl.'/user/'.$userUID.'?editavatar=success');
} else {
echo "The file you are trying to upload is TOO big!";
}
} else {
echo "Oops! there was an unknown ERROR, please try again later.";
}
} else {
echo "you can't upload this type of files!";
}
}
?>
答案 0 :(得分:0)
在upload.php之上添加此内容以查看php错误,您可以在
中找出错误发生位置。<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
答案 1 :(得分:0)
您需要使用if (isset($_file['submit'])) {
if (isset($_FILES['file'])) {
$ _ POST包含表单中的所有数据(文件除外)。
$ _ FILES包含通过表单发送到服务器的所有文件(仅限于)
<?php
include_once 'includes/dbh.inc.php';
include_once 'includes/vars.inc.php';
if (isset($_FILES['file'])) {
$file = $_FILES['file'];
$fileNAME = $_FILES['file']['name'];
$fileTYPE = $_FILES['file']['type'];
$fileTMPNM = $_FILES['file']['tmp_name'];
$fileERROR = $_FILES['file']['error'];
$fileSIZE = $_FILES['file']['size'];
$fileEXT = explode('.', $fileNAME);
$fileACTUALEXT = strtolower(end($fileEXT));
$fileALLOWED = array('jpg', 'jpeg', 'png', 'gif');
if (in_array($fileACTUALEXT, $fileALLOWED)) {
if ($fileERROR === 0) {
if ($fileSIZE < 5000000) {
$fileNEWNAME = $userUID."-avatar.".$fileACTUALEXT;
$fileROOT = 'content/uploads/'.$fileNEWNAME;
move_uploaded_file($fileTMPNM, $fileROOT);
$sql = "UPDATE user_meta SET um_avatar_status=0 WHERE um_user_id='$userID';";
$result = mysqli_query($conn, $sql);
header('Location: '.$siteurl.'/user/'.$userUID.'?editavatar=success');
} else {
echo "The file you are trying to upload is TOO big!";
}
} else {
echo "Oops! there was an unknown ERROR, please try again later.";
}
} else {
echo "you can't upload this type of files!";
}
}
?>