我從Cafewebmaster下載了一個上傳腳本。我選擇了最大限度上傳限制3個文件。我如何獲得每個單獨的文件名,所以我可以把它們放在我的MySQL數據庫中的單獨列中?從上傳腳本獲取文件名
下面是腳本:
<?php
/**
* Smart Image Uploader by @cafewebmaster.com
* Free for private use
* Please support us with donations or backlink
*/
$upload_image_limit = 3; // How many images you want to upload at once?
$upload_dir = "img_upload/"; // default script location, use relative or absolute path
$enable_thumbnails = 1 ; // set 0 to disable thumbnail creation
$max_image_size = 1024000 ; // max image size in bytes, default 1MB
##################### THUMBNAIL CREATER FROM GIF/JPG/PNG
function make_thumbnails($updir, $img){
$thumbnail_width = 200;
$thumbnail_height = 100;
$thumb_preword = "thumb_";
$arr_image_details = GetImageSize("$updir"."$img");
$original_width = $arr_image_details[0];
$original_height = $arr_image_details[1];
if($original_width > $original_height){
$new_width = $thumbnail_width;
$new_height = intval($original_height*$new_width/$original_width);
} else {
$new_height = $thumbnail_height;
$new_width = intval($original_width*$new_height/$original_height);
}
$dest_x = intval(($thumbnail_width - $new_width)/2);
$dest_y = intval(($thumbnail_height - $new_height)/2);
if($arr_image_details[2]==1) { $imgt = "ImageGIF"; $imgcreatefrom = "ImageCreateFromGIF"; }
if($arr_image_details[2]==2) { $imgt = "ImageJPEG"; $imgcreatefrom = "ImageCreateFromJPEG"; }
if($arr_image_details[2]==3) { $imgt = "ImagePNG"; $imgcreatefrom = "ImageCreateFromPNG"; }
if($imgt) {
$old_image = $imgcreatefrom("$updir"."$img");
$new_image = imagecreatetruecolor($thumbnail_width, $thumbnail_height);
imageCopyResized($new_image,$old_image,$dest_x,
$dest_y,0,0,$new_width,$new_height,$original_width,$original_height);
$imgt($new_image,"$updir"."$thumb_preword"."$img");
}
}
################################# UPLOAD IMAGES
foreach($_FILES as $k => $v){
$img_type = "";
### $htmo .= "$k => $v<hr />"; ### print_r($_FILES);
if(!$_FILES[$k]['error'] && preg_match("#^image/#i", $_FILES[$k]['type']) && $_FILES[$k]['size'] < $max_image_size){
$img_type = ($_FILES[$k]['type'] == "image/jpeg") ? ".jpg" : $img_type ;
$img_type = ($_FILES[$k]['type'] == "image/gif") ? ".gif" : $img_type ;
$img_type = ($_FILES[$k]['type'] == "image/png") ? ".png" : $img_type ;
$img_rname = $_FILES[$k]['name'];
$img_path = $upload_dir.$img_rname;
copy($_FILES[$k]['tmp_name'], $img_path);
if($enable_thumbnails) make_thumbnails($upload_dir, $img_rname);
$feedback .= "Image and thumbnail created $img_rnam";
}
}
############################### HTML FORM
while($i++ < $upload_image_limit){
$form_img .= '<label>Image '.$i.': </label> <input type="file" name="uplimg'.$i.'"><br />';
}
$htmo .= '
<p>'.$feedback.'</p>
<form method="post" enctype="multipart/form-data">
'.$form_img.' <br />
<input type="submit" value="Upload Images!" style="margin-left: 50px;" />
</form>
';
echo $htmo;
不過,我覺得我就是這樣做: $ images1 = $ _FILES [0] [ '名'];
但它不起作用。任何幫助感謝!
感謝
只是一個側面說明...你正在做一個'foreach($ _FILES as $ k => $ v)',所以不需要引用'$ _FILES'。你可以使用'$ v'。 – Brad
我會使用verot中的class.upload – Alex