我找到了一个上传代码javascript / php。它用于多个文件上传,但我将其更改为单个文件上传 我在这部分代码中遇到了问题:
foreach($_FILES['file']['name'] as $key => $name){
if ($_FILES['file']['error'][$key] == 0 && move_uploaded_file($_FILES['file']['tmp_name'][$key], "files/{$name}")){
$uploaded[] = $name;
}
}
当我尝试将其更改为此代码时,它不适合我,我不知道问题
$image_name = $_FILES['file']['name'];
$bytes = $_FILES['file']['size'];
$image_temp = $_FILES['file']['tmp_name'];
$image_n = $_POST['image_n'];
$image_description = $_POST['image_description'];
$image_ext = pathinfo($image_name, PATHINFO_EXTENSION);
$album_id = 7;
$byte = formatSizeUnits($bytes);
upload_image($image_temp, $image_ext, $album_id, $image_n, $image_description, $byte);
任何想法可能是什么问题?
上传功能:
function upload_image($image_temp, $image_ext, $album_id, $image_n, $image_description, $byte) {
$album_id = (int)$album_id;
$image_n = mysql_real_escape_string(htmlentities($image_n));
$image_description = mysql_real_escape_string(htmlentities($image_description));
//$download_link = 'uploads/'. $album_id. '/'. $image['id']. '.'. $image_ext;
$mysql_date_now = date("Y-m-d (H:i:s)");
$user_first = mysql_query("SELECT `first_name` FROM `users` WHERE `user_id` = ".$_SESSION['user_id']."");
$record =mysql_fetch_array($user_first);
$user_last = mysql_query("SELECT `last_name` FROM `users` WHERE `user_id` = ".$_SESSION['user_id']."");
$record_two =mysql_fetch_array($user_last);
$profile_link = mysql_query("SELECT `username` FROM `users` WHERE `user_id` = ".$_SESSION['user_id']."");
$record_three = mysql_fetch_array($profile_link);
mysql_query("INSERT INTO `images` VALUES ('', '".$_SESSION['user_id']."','".$record['first_name']."".' '."".$record_two['last_name']."', '$album_id', UNIX_TIMESTAMP(), '$image_ext', '$image_n', '$image_description', '','$mysql_date_now', '$byte', '".$record_three['username']."')");
$image_id = mysql_insert_id();
$download_link = 'uploads/'. $album_id. '/'. $image_id. '.'. $image_ext;
$delete_link = 'delete_image.php?image_id='. $image_id;
mysql_query("UPDATE `images` SET `download_link`='$download_link' WHERE `image_id`=$image_id ");
mysql_query("UPDATE `images` SET `delete_link`='$delete_link' WHERE `image_id`=$image_id ");
$selection = mysql_query("SELECT `user_two` FROM `follow` WHERE `user_one`='".$_SESSION['user_id']."'");
while ($row = mysql_fetch_array($selection)) {
mysql_query("INSERT INTO `notification` VALUES ('', '".$_SESSION['user_id']."', '".$row['user_two']."', '', UNIX_TIMESTAMP(), '$image_n', '$image_description', '$download_link')");
}
$image_file = $image_id.'.'.$image_ext;
move_uploaded_file($image_temp, 'uploads/'.$album_id.'/'.$image_file);
//Thumbnail('uploads/'.$album_id.'/', $image_file, 'uploads/thumbs/'.$album_id.'/');
}
javascript代码:
var handleUpload = function(event){
if (lo == 21 || lo == 22 || lo == 23 || lo == 24 || lo == 31 || lo == 32 || lo == 33 || lo == 34 || lo == 35 || lo == 36 || lo == 37 || lo == 38 ||
lo == 39 || lo == 40 || lo == 41 || lo == 42 || lo == 43 || lo == 44 || lo == 45 || lo == 46 || lo == 47 || lo == 48 || lo == 49 || lo == 50 ||
lo == 51 || lo == 52 || lo == 53 || lo == 54 || lo == 59 || lo == 60 || lo == 61 || lo == 62 || lo == 63 || lo == 64 || lo == 65 || lo == 66 || lo == 67 ||
lo == 68 || lo == 69 || lo == 70 || lo == 71 || lo == 72 || lo == 73 || lo == 74 || lo == 79 || lo == 80 || lo == 81 || lo == 82 || lo == 83 || lo == 84 ||
lo == 85 || lo == 86 || lo == 87 || lo == 88 || lo == 89 || lo == 90 || lo == 91 || lo == 92 || lo == 93 || lo == 94 || lo == 99 || lo == 100 || lo == 101 ||
lo == 102 || lo == 103 || lo == 104 || lo == 105 || lo == 106 || lo == 107 || lo == 108 || lo == 109 || lo == 110 || lo == 111 || lo == 112 || lo == 113 || lo == 114 ||
lo == 119 || lo == 120 || lo == 121 || lo == 122 || lo == 123 || lo == 124 || lo == 125 || lo == 126 || lo == 127 || lo == 128 || lo == 129 || lo == 130 || lo == 131 ||
lo == 132 || lo == 133 || lo == 134 || lo == 139 || lo == 140 || lo == 141 || lo == 142 || lo == 143 || lo == 144 || lo == 145 || lo == 146 || lo == 147 ||
lo == 148 || lo == 149 || lo == 150 || lo == 151 || lo == 152 || lo == 153 || lo == 154 || lo == 159 || lo == 160 || lo == 161 || lo == 162 || lo == 163 || lo == 164 || lo == 165 ||
lo == 166 || lo == 167 || lo == 168 || lo == 169 || lo == 170 || lo == 171 || lo == 172 || lo == 173 || lo == 174 || lo == 179 || lo == 180 || lo == 181 || lo == 182 || lo == 183 ||
lo == 184 || lo == 185 || lo == 186 || lo == 187 || lo == 188 || lo == 189 || lo == 190 || lo == 191 || lo == 192 || lo == 193 || lo == 194 || lo == 199 || lo == 200 || lo == 201 || lo == 202 || lo == 203 ||
lo == 204 || lo == 205 || lo == 206 || lo == 207 || lo == 208 || lo == 209 || lo == 210 || lo == 211 || lo == 212 || lo == 213 || lo == 214 || lo == 219 || lo == 220 || lo == 221 ||
lo == 222 || lo == 223 || lo == 224 || lo == 225 || lo == 226 || lo == 227 || lo == 228 || lo == 229 || lo == 230 || lo == 231 || lo == 232 || lo == 233 || lo == 234 || lo == 239 ||
lo == 240 || lo == 241 || lo == 242 || lo == 243 || lo == 244 || lo == 245 || lo == 246 || lo == 247 || lo == 248 || lo == 249 || lo == 250 || lo == 251 || lo == 252 || lo == 253 ||
lo == 254 || lo == 259 || lo == 260 || lo == 261 || lo == 262 || lo == 263 || lo == 264 || lo == 265 || lo == 266 || lo == 267 || lo == 268 || lo == 269 || lo == 270 || lo == 271 || lo == 272 || lo == 273 || lo == 274 ||
lo == 279 || lo == 280 || lo == 281 || lo == 282 || lo == 283 || lo == 284 || lo == 285 || lo == 286 || lo == 287 || lo == 288 || lo == 289 || lo == 290 || lo == 291 || lo == 292 || lo == 293 || lo == 294 ||
lo == 299 || lo == 300 || lo == 301 || lo == 302 || lo == 303 || lo == 304 || lo == 305 || lo == 306 || lo == 307 || lo == 308 || lo == 309 || lo == 310 || lo == 311 || lo == 312 || lo == 313 ||
lo == 314 || lo == 315 || lo == 316 || lo == 317 || lo == 318 || lo == 319 || lo == 320 || lo == 321 || lo == 322
){
alert('ok');
}else{
alert(location);
}
event.preventDefault();
event.stopPropagation();
var fileInput = document.getElementById('file');
var data = new FormData();
data.append('javascript', true);
//isImage(fileInput.files[0].name);
function getExtension(filename) {
var parts = filename.split('.');
return parts[parts.length - 1];
}
function isImage(filename) {
var ext = getExtension(filename);
var exto = ext.toLowerCase();
switch (exto) {
case "jpg":
case "jpeg":
case "png":
case "rar":
case "pdf":
case "gif":
case "ppt":
return true;
break;
}
function toArray(arraylike) {
var array= new Array(arraylike.length);
for (var i= 0, n= arraylike.length; i<n; i++)
array[i]= arraylike[i];
return array;
}
//var alloptions = document.getElementsByTagName("option");
//var done = alloptions.options[alloptions.selectedIndex].value;
//alert(alloptions[5].value);
//var get_value = alloptions.options[alloptions.selectedIndex].value;
//alert(get_value);
alert('not image!');
return false;
}
if(fileInput.files[0].size > 1050000) {
//document.getElementById("image_id").innerHTML = "Image too big (max 1Mb)";
alert('File bigger than 1Mb!');
//window.location="upload.php";
return false;
}
//return false;
for (var i = 0; i < fileInput.files.length; ++i){
if (isImage(fileInput.files[0].name) == 1){
if (document.getElementById("image_n").value != ""){
if(document.getElementById("image_description").value != ""){
data.append('file[]', fileInput.files[i]);
}else{
alert('Description field is empty');
return false;
}
}else{
alert('Name field is empty');
return false;
}
}else{
return false;
}
}
var request = new XMLHttpRequest();
request.upload.addEventListener('progress', function(event){
if(event.lengthComputable){
var percent = event.loaded / event.total;
var progress = document.getElementById('upload_progress');
while (progress.hasChildNodes()){
progress.removeChild(progress.firstChild);
}
progress.appendChild(document.createTextNode(Math.round(percent * 100) +' %'));
document.getElementById("loading-progress-17").style.width= Math.round(percent * 100) +'%';
}
});
// will be called after upload done successfully
request.upload.addEventListener('load', function(event){
document.getElementById('upload_progress').style.display = 'none';
});
//request.upload.addEventListener('error', function(event){
// alert('Upload failed');
//});
request.addEventListener('readystatechange', function(event){
if (this.readyState == 4){
if(this.status == 200){
var links = document.getElementById('uploaded');
var uploaded = eval(this.response);
var div, a;
for (var i = 0; i < uploaded.length; ++i){
div = document.createElement('div');
a = document.createElement('a');
a.setAttribute('href', 'files/' + uploaded[i]);
a.appendChild(document.createTextNode(uploaded[i]));
div.appendChild(a);
links.appendChild(div);
}
}else{
console.log('server replied with HTTP status ' + this.status);
}
}
});
request.open('POST', 'upload.php');
request.setRequestHeader('Cache-Control', 'no-cache');
document.getElementById('upload_progress').style.display = 'block';
request.send(data);
}
window.addEventListener('load', function(event){
var all_select = document.getElementsByTagName("select");
for (i = 0; i < all_select.length; i++) {
all_select[i].onchange = function () {
var lo = this.value;
window.lo = lo;
//if (location == 2 || location == 3 ){
//alert('ok');
//}else{
//alert('no');
//}
}
}
var submit = document.getElementById('submit');
submit.addEventListener('click', handleUpload);
});
答案 0 :(得分:1)
以下是move_uploaded_file()
的格式:
$path = 'uploads/'; $fileName = 'file';
move_uploaded_file($_FILES[$fileName]['tmp_name'], $path.basename($_FILES[$fileName]['name']));
也许您需要使用basename()
?