Здравейте,
Имам скрипт за качване на снимки, като съм направил и албуми за тях. Снимките се качват в 3 размера (това не трябва да се променя). Всичко работи перфектно, но започнах да се затруднявам, когато трябва да кача много снимки - просто не ми се занимава една по една - т.е искам да направя multiupload (да се избират много снимки и да се качват всички само с едно натискане на Upload бутона.
Не искам да създам много Browse бутони, а от създадения такъв да избера всички снимки, които искам да кача в избраният албум...
Някой би ли ударил едно рамо, защото не се получи както го мислех? Благодаря предварително.
Ето го и скрипта:
Имам скрипт за качване на снимки, като съм направил и албуми за тях. Снимките се качват в 3 размера (това не трябва да се променя). Всичко работи перфектно, но започнах да се затруднявам, когато трябва да кача много снимки - просто не ми се занимава една по една - т.е искам да направя multiupload (да се избират много снимки и да се качват всички само с едно натискане на Upload бутона.
Не искам да създам много Browse бутони, а от създадения такъв да избера всички снимки, които искам да кача в избраният албум...
Някой би ли ударил едно рамо, защото не се получи както го мислех? Благодаря предварително.
Ето го и скрипта:
Код:
<?php
$category_title = trim(strip_tags($_GET['cat_url_string']));
$category_display_title = str_replace('_', ' ', $category_title);
$category_display_title = str_replace('-', ' ', $category_title);
$category_display_title = trim($category_display_title, '-');
if(!is_dir('files/'.urldecode($category_title))){
include("404.php");
exit;
}
// test the files to be uploaded, before inserting in DB
$upload_errors = '';
$acceptable_file_types = array("image/jpeg","image/gif","image/png","image/bmp");
// max photo size in kb (10MB = 10000);
$max_photo_size = 10000;
$working_directory = "files/".$category_title;
// test uploads for size and format
if($is_admin and isset($_FILES["photo_box"]) and $_FILES["photo_box"]["name"]!=''){
if(!in_array($_FILES["photo_box"]["type"],$acceptable_file_types)){
$upload_errors .= "Photo should be jpg, gif or png; ";
}
if($_FILES["photo_box"]["size"]/1024 > $max_photo_size){
$upload_errors .= "Photo is too large (".size_convert($_FILES["photo_box"]["size"])."), maximum size is ".($max_photo_size/1000)."MB; ";
}
// final will be a string like "landscape-with-mountain"
$photo_name = pathinfo($_FILES["photo_box"]["name"], PATHINFO_FILENAME);
$photo_name = strtolower($photo_name);
$photo_name = string_to_file_name($photo_name);
// make sure the photo file is not duplicate
if(file_exists($working_directory."/".$photo_name.".jpg")){
$upload_errors .= "File (".$photo_name.".jpg) already exists in this category (".$category_display_title."); ";
}
// upload the file and re-size it
if($upload_errors==''){
// append this prefix, otherwise they will have same name
$temporary_file = "temporary_".$_FILES["photo_box"]["name"];
// move original file into a working directory
move_uploaded_file($_FILES["photo_box"]["tmp_name"], $working_directory."/".$temporary_file);
// save and scale down source image
if($imagemagick_installed){
resize_in_limits($working_directory."/".$temporary_file, $working_directory."/".$photo_name.".jpg", 2000, 2000);
} else {
gd_resize_in_limits($working_directory."/".$temporary_file, $working_directory."/".$photo_name.".jpg", 2000, 2000);
}
// !!! delete original file here, later the uploaded file and main image can have same name, avoid removing main file
unlink($working_directory."/".$temporary_file);
// save and scale down the "display" image
if($imagemagick_installed){
resize_in_limits($working_directory."/".$photo_name.".jpg", $working_directory."/".$photo_name."_small.jpg", $settings_photo_width, $settings_photo_height);
} else {
gd_resize_in_limits($working_directory."/".$photo_name.".jpg", $working_directory."/".$photo_name."_small.jpg", $settings_photo_width, $settings_photo_height);
}
// save and CROP the thumb image
if($imagemagick_installed){
crop_image($working_directory."/".$photo_name.".jpg", $working_directory."/".$photo_name."_thumb.jpg", $settings_thumbnail_width, $settings_thumbnail_height);
} else {
gd_crop_image($working_directory."/".$photo_name.".jpg", $working_directory."/".$photo_name."_thumb.jpg", $settings_thumbnail_width, $settings_thumbnail_height);
}
// if category has no thumb, then copy this one
if(!file_exists("files/".$category_title."/thumbnail.jpg")){
copy($working_directory."/".$photo_name."_thumb.jpg", "files/".$category_title."/thumbnail.jpg");
}
// refresh page
header("Location: ?message=Uploaded photo: ".$category_title."/".$photo_name.".jpg&message_type=success");
exit;
} else {
header("Location: ?message=".$upload_errors."&message_type=error");
exit;
}
}
$page_title = ucwords($category_display_title);
$page_description = ucwords($category_display_title)."xx";
?>