Php 上载文件时出错
我不断收到Php 上载文件时出错,php,jquery,html,onchange,image-uploading,Php,Jquery,Html,Onchange,Image Uploading,我不断收到错误:请在单击上载按钮之前浏览文件。选择要上载的图像文件时。我正在尝试在更改后上传文件,而不必单击“提交”,以获得更友好的用户体验 HTML “> 选择照片 jQuery/JavaScript function handleFiles(files) { for (var i = 0; i < files.length; i++) { var file = files[i]; var imageType = /image.*/;
错误:请在单击上载按钮之前浏览文件。
选择要上载的图像文件时。我正在尝试在更改后上传文件,而不必单击“提交”,以获得更友好的用户体验
HTML
“>
选择照片
jQuery/JavaScript
function handleFiles(files) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
var imageType = /image.*/;
if (!file.type.match(imageType)) {
continue;
}
var img = document.createElement("img");
img.classList.add("newphoto");
img.file = file;
profilephoto.appendChild(img);
var reader = new FileReader();
reader.onload = (function(aImg) { return function(e) { aImg.src = e.target.result; }; })(img);
reader.readAsDataURL(file);
var eventt = jQuery.Event("submit");
$("#imguploadin").trigger(eventt);
}
}
函数句柄文件(文件){
对于(var i=0;i
PHP(image\u upload\u script.PHP)
您的表单缺少上载文件所需的enctype=“multipart/form data”
属性。您的表单缺少所需的enctype=“multipart/form data”“
上传文件的属性。哇,我真不敢相信我竟然漏掉了这样一件无聊的事。。。谢谢你,穆萨!哇,我真不敢相信我竟然漏掉了这样一件无聊的事。。。谢谢你,穆萨!
function handleFiles(files) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
var imageType = /image.*/;
if (!file.type.match(imageType)) {
continue;
}
var img = document.createElement("img");
img.classList.add("newphoto");
img.file = file;
profilephoto.appendChild(img);
var reader = new FileReader();
reader.onload = (function(aImg) { return function(e) { aImg.src = e.target.result; }; })(img);
reader.readAsDataURL(file);
var eventt = jQuery.Event("submit");
$("#imguploadin").trigger(eventt);
}
}
<?php
session_start();
// Access the $_FILES global variable for this specific file being uploaded
// and create local PHP variables from the $_FILES array of information
$username = $_SESSION["username"];
$fileName = $_FILES["uploaded_file"]["name"]; // The file name
$fileTmpLoc = $_FILES["uploaded_file"]["tmp_name"]; // File in the PHP tmp folder
$fileType = $_FILES["uploaded_file"]["type"]; // The type of file it is
$fileSize = $_FILES["uploaded_file"]["size"]; // File size in bytes
$fileErrorMsg = $_FILES["uploaded_file"]["error"]; // 0 for false... and 1 for true
$kaboom = explode(".", $fileName); // Split file name into an array using the dot
$fileExt = end($kaboom); // Now target the last array element to get the file extension
// START PHP Image Upload Error Handling --------------------------------------------------
if (!$fileTmpLoc) { // if file not chosen
echo "ERROR: Please browse for a file before clicking the upload button.";
exit();
} else if ($fileSize > 1242880) { // if file size is larger than 5 Megabytes
echo "ERROR: Your file was larger than 5 Megabytes in size.";
unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
exit();
} else if (!preg_match("/.(gif|jpg|png)$/i", $fileName)) {
// This condition is only if you wish to allow uploading of specific file types
echo "ERROR: Your image was not .gif, .jpg, or .png.";
unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
exit();
} else if ($fileErrorMsg == 1) { // if file upload error key is equal to 1
echo "ERROR: An error occured while processing the file. Try again.";
exit();
}
// END PHP Image Upload Error Handling ----------------------------------------------------
// Place it into your "uploads" folder mow using the move_uploaded_file() function
$moveResult = move_uploaded_file($fileTmpLoc, "images/users/$username.$fileExt");
// Check to make sure the move result is true before continuing
if (!$moveResult) {
echo "ERROR: File not uploaded. Try again.";
unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
exit();
}
// ---------- Include Adams Universal Image Resizing Function --------
include_once("ak_php_img_lib_1.0.php");
$target_file = "images/users/$username.$fileExt";
$resized_file = "images/users/resized_$username.$fileExt";
$wmax = 200;
$hmax = 150;
ak_img_resize($target_file, $resized_file, $wmax, $hmax, $fileExt);
$thumbnail = "images/users/thumb_$username.$fileExt";
$wthumb = 150;
$hthumb = 150;
ak_img_thumb($target_file, $thumbnail, $wthumb, $hthumb, $fileExt);
// ----------- Write Image File path to the server ---------------------------------
$sql_user = "myuser";
$sql_pass = "mypassword";
$sql_ip = "localhost";
$sql_DB = "mydb";
if ($moveResult != true)
echo("couldnt write file path to database due to unsuccesfull upload");
else {
$mysqli = new mysqli($sql_ip, $sql_user, $sql_pass, $sql_DB);
if ($stmt = $mysqli->prepare("UPDATE users SET avatar=? WHERE username=?")) {
$user = $_SESSION['username'];
$avatar = $resized_file;
$stmt->bind_param('ss', $avatar, $user);
$stmt->execute();
$stmt->close();
//header('location: profile.html');
return true;
}
$mysqli->close();
}
// ----------- End Adams Universal Image Resizing Function -----------
// Display things to the page so you can see what is happening for testing purposes
echo "The file named <strong>$username.$fileExt</strong> uploaded successfuly.<br /><br />";
echo "It is <strong>$fileSize</strong> bytes in size.<br /><br />";
echo "It is an <strong>$fileType</strong> type of file.<br /><br />";
echo "The file extension is <strong>$fileExt</strong><br /><br />";
echo "The Error Message output for this upload is: $fileErrorMsg";
?>