sourcecoder Posted December 18, 2010 Share Posted December 18, 2010 Hi i have found this code : <?php if (isset($_POST['submit_bilde'])) { $error = 'Wrong image file..'; define( 'THUMBNAIL_IMAGE_MAX_WIDTH', 250 ); define( 'THUMBNAIL_IMAGE_MAX_HEIGHT', 250 ); function generate_image_thumbnail( $source_image_path, $thumbnail_image_path ) { list( $source_image_width, $source_image_height, $source_image_type ) = getimagesize( $source_image_path ); switch ( $source_image_type ) { case IMAGETYPE_GIF: $source_gd_image = imagecreatefromgif( $source_image_path ); break; case IMAGETYPE_JPEG: $source_gd_image = imagecreatefromjpeg( $source_image_path ); break; case IMAGETYPE_PNG: $source_gd_image = imagecreatefrompng( $source_image_path ); break; } if ( $source_gd_image === false ) { return false; } $thumbnail_image_width = THUMBNAIL_IMAGE_MAX_WIDTH; $thumbnail_image_height = THUMBNAIL_IMAGE_MAX_HEIGHT; $source_aspect_ratio = $source_image_width / $source_image_height; $thumbnail_aspect_ratio = $thumbnail_image_width / $thumbnail_image_height; if ( $source_image_width <= $thumbnail_image_width && $source_image_height <= $thumbnail_image_height ) { $thumbnail_image_width = $source_image_width; $thumbnail_image_height = $source_image_height; } elseif ( $thumbnail_aspect_ratio > $source_aspect_ratio ) { $thumbnail_image_width = ( int ) ( $thumbnail_image_height * $source_aspect_ratio ); } else { $thumbnail_image_height = ( int ) ( $thumbnail_image_width / $source_aspect_ratio ); } $thumbnail_gd_image = imagecreatetruecolor( $thumbnail_image_width, $thumbnail_image_height ); imagecopyresampled( $thumbnail_gd_image, $source_gd_image, 0, 0, 0, 0, $thumbnail_image_width, $thumbnail_image_height, $source_image_width, $source_image_height ); imagejpeg( $thumbnail_gd_image, $thumbnail_image_path, 100 ); imagedestroy( $source_gd_image ); imagedestroy( $thumbnail_gd_image ); return true; } define( 'UPLOADED_IMAGE_DESTINATION', 'annonsebilder/orginaler/' ); define( 'THUMBNAIL_IMAGE_DESTINATION', 'annonsebilder/thumbs/' ); function process_image_upload( $field ) { $temp_image_path = $_FILES[ $field ][ 'tmp_name' ]; $temp_image_name = $_FILES[ $field ][ 'name' ]; list( , , $temp_image_type ) = getimagesize( $temp_image_path ); if ( $temp_image_type === NULL ) { return false; } switch ( $temp_image_type ) { case IMAGETYPE_JPEG: break; default: return false; } $uploaded_image_path = UPLOADED_IMAGE_DESTINATION . $temp_image_name; move_uploaded_file( $temp_image_path, $uploaded_image_path ); $random_digit=rand(0000000000000,9999999999999); $thumbnail_image_path = THUMBNAIL_IMAGE_DESTINATION . preg_replace( '{\\.[^\\.]+$}', '.jpg', $annonse_ref.'_'.$random_digit.'.jpg' ); $result = generate_image_thumbnail( $uploaded_image_path, $thumbnail_image_path ); return $result ? array( $uploaded_image_path, $thumbnail_image_path ) : false; } for ( $i = 1; $i <= 5; $i++ ) { if ( $_FILES[ 'Image' . $i ][ 'error' ] == 0 ) { $result = process_image_upload( 'Image' . $i ); } } if ( $result === false ) { echo $error; } else { //THIS ECHO SHIT IS KILLIN' ME!!! echo '<br />1: '.$result['1'] ; echo '<br />2: '.$result['2']; echo '<br />3: '.$result['3']; echo '<br />4: '.$result['4']; echo '<br />5: '.$result['5']; } } if (!isset($_POST['submit_bilde'])) { ?> <form action="" method="post" enctype="multipart/form-data"> <input type="file" name="Image1"><br> <input type="file" name="Image2"><br> <input type="file" name="Image3"><br> <input type="file" name="Image4"><br> <input type="file" name="Image5"><br><br> <input type="submit" value="GOOOOOOOO!!!!" name="submit_bilde"> </form> <?}?> and if you look in the code there is a part where i want to echo the uploaded files' path's.. I only se one of those 5 files listet in the "echo"-thing Can someone please, please, please help me to echo ALL the 5 images path?? Quote Link to comment https://forums.phpfreaks.com/topic/222069-upload-script/ Share on other sites More sharing options...
QuickOldCar Posted December 18, 2010 Share Posted December 18, 2010 The echo shit is killing you huh? see your multi upload... <form action="" method="post" enctype="multipart/form-data"> <input type="file" name="Image1"><br> <input type="file" name="Image2"><br> <input type="file" name="Image3"><br> <input type="file" name="Image4"><br> <input type="file" name="Image5"><br><br> <input type="submit" value="GOOOOOOOO!!!!" name="submit_bilde"> </form> make it to something like this <form action="" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size ?>"> <input type="file" name="file[]"><br /> <input type="file" name="file[]"><br /> <input type="file" name="file[]"><br /> <input type="file" name="file[]"><br /> <input type="file" name="file[]"><br /> <input type="submit" value="GOOOOOOOO!!!!" name="submit_bilde"> </form> Then you need a loop //max fle size value $max_file_size = 50000000; //timestamp to make files unique names $timestamp = time(); //added a date for insertion to db date_default_timezone_set('America/New_York'); $my_date = date('Y-m-d H:i:s'); //destination folder path $destpath = "storage/"; //looping each file or image from the form while(list($key,$value) = @each($_FILES["file"]["name"])) { //check if any empty or errors if(!empty($value)){ if ($_FILES["file"]["error"][$key] > 0) { echo "Error: " . $_FILES["file"]["error"][$key] . "<br/>" ; } else { //add the timestamp to filename $file_name = $timestamp.$_FILES['file']['name']; //temp name from upload form, key of each is set $source = $_FILES["file"]["tmp_name"][$key] ; //getting the file type $file_type = $_FILES["file"]["type"][$key]; //getting the file size $file_size = $_FILES["file"]["size"][$key]; //placing each file name into a variable $filename1 = $_FILES["file"]["name"][$key]; //lowering the file names $filename = strtolower($filename1); //adding timestamp to front of file name $filename = "$timestamp$filename"; //moving the file to be saved from the temp location to the destination path move_uploaded_file($source, $destpath . $filename); //the actual final location with timestamped name $final_file_location = "$destpath$filename"; echo $final_file_location."<br />"; } You can also add to the form titles and description <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size ?>"> File: <input type="file" name="file[]"/> Title:<input size="40"type="text" name="title[]" style="color: lightblue; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #0000FF;" size="15" value=""> Description:<input size="40"type="text" name="description[]" style="color: lightblue; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #0000FF;" size="15" value=""><br/> File: <input type="file" name="file[]"/> Title:<input size="40"type="text" name="title[]" style="color: lightblue; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #0000FF;" size="15" value=""> Description:<input size="40"type="text" name="description[]" style="color: lightblue; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #0000FF;" size="15" value=""><br/> File: <input type="file" name="file[]"/> Title:<input size="40"type="text" name="title[]" style="color: lightblue; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #0000FF;" size="15" value=""> Description:<input size="40"type="text" name="description[]" style="color: lightblue; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #0000FF;" size="15" value=""><br/> File: <input type="file" name="file[]"/> Title:<input size="40"type="text" name="title[]" style="color: lightblue; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #0000FF;" size="15" value=""> Description:<input size="40"type="text" name="description[]" style="color: lightblue; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #0000FF;" size="15" value=""><br/> File: <input type="file" name="file[]"/> Title:<input size="40"type="text" name="title[]" style="color: lightblue; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #0000FF;" size="15" value=""> Description:<input size="40"type="text" name="description[]" style="color: lightblue; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #0000FF;" size="15" value=""><br/> <input type="submit"value="GOOOO!!!!" name="submit_bilde"> </form> In the loop add the values for title or description as each key like so $final_file_location = "$destpath$filename"; if (file_exists($final_file_location)) { ?> The file has been uploaded. <a href="<?php echo $final_file_location; ?>" target="_blank"><?php echo $filename; ?></a><br /> <?php $title = mysql_real_escape_string(trim($_POST["title"][$key])); if ($title == ''){ $title = mysql_real_escape_string(trim($filename1)); } $escaped_title = htmlentities($title, ENT_QUOTES); $description = mysql_real_escape_string(trim($_POST["description"][$key])); $escaped_description = htmlentities($description, ENT_NOQUOTES); $display_title = stripslashes($escaped_title); $display_description = stripslashes($escaped_description); echo stripslashes($display_title)."<br />"; echo "Type: $file_type<br />"; echo "Size: $file_size<br />"; echo stripslashes($display_description)."<br />"; For checking for file type if ($file_type != "image/jpeg" || $file_type != "image/gif" || $file_type != "image/jpg" || $file_type != "image/bmp" || $file_type != "image/png") { die(" <div align='center' ><h2>You inserted a file type not accepted.</h2><br /> <a href=\"javascript: history.go(-1)\">Click here to try again</a> </div>"); } Naturally the above I did are not your values and would take some modification of yours. I been slowly working on a complete upload script with a website and database included. There are plenty of tutorials on the net for whatever else need to do. Quote Link to comment https://forums.phpfreaks.com/topic/222069-upload-script/#findComment-1149076 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.