Jump to content

how to fileimage name with extension from mutilple file input type


chennaibala

Recommended Posts

<?php

 

// make a note of the current working directory relative to root.

$directory_self = str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']);

 

// make a note of the location of the upload handler

$uploadHandler = 'http://' . $_SERVER['HTTP_HOST'] . $directory_self . 'multiple.upload.php';

 

// set a max file size for the html upload form

$max_file_size = 30000000000; // size in bytes

 

// now echo the html page

?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

 

<html lang="en">

<head>

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

 

<link rel="stylesheet" type="text/css" href="stylesheet.css">

 

<title>Upload form</title>

 

</head>

 

<body>

 

<form id="Upload" action="<?php echo $uploadHandler ?>" enctype="multipart/form-data" method="post">

 

<h1>

Upload form

</h1>

 

<p>

<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size ?>">

</p>

 

<p>

<label for="file1">File to upload:</label>

<input id="file1" type="file" name="file[]">

</p>

 

<p>

<label for="file2">File to upload:</label>

<input id="file2" type="file" name="file[]">

</p>

 

<p>

<label for="file3">File to upload:</label>

<input id="file3" type="file" name="file[]">

</p>

 

<p>

<label for="submit">Press to...</label>

<input id="submit" type="submit" name="submit" value="Upload us!">

</p>

 

</form>

 

 

</body>

 

</html>

 

<?php 

 

// make a note of the current working directory, relative to root.

$directory_self = str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']);

 

// make a note of the directory that will recieve the uploaded files

$uploadsDirectory = $_SERVER['DOCUMENT_ROOT'] . $directory_self . 'uploaded_files/';

 

// make a note of the location of the upload form in case we need it

$uploadForm = 'http://' . $_SERVER['HTTP_HOST'] . $directory_self . 'multiple.upload.php';

 

// make a note of the location of the success page

$uploadSuccess = 'http://' . $_SERVER['HTTP_HOST'] . $directory_self . 'upload.success.php';

 

// name of the fieldname used for the file in the HTML form

$fieldname = 'file';

 

//echo'<pre>';print_r($_FILES);exit;

 

 

 

// Now let's deal with the uploaded files

 

// possible PHP upload errors

$errors = array(1 => 'php.ini max file size exceeded',

                2 => 'html form max file size exceeded',

                3 => 'file upload was only partial',

                4 => 'no file was attached');

 

// check the upload form was actually submitted else print form

if(isset($_POST['submit']))

{

// or error('the upload form is neaded', $uploadForm);

 

// check if any files were uploaded and if

// so store the active $_FILES array keys

$active_keys = array();

foreach($_FILES[$fieldname]['name'] as $key => $filename)

{

if(!empty($filename))

{

$active_keys[] = $key;

}

}

 

// check at least one file was uploaded

count($active_keys)

or error('No files were uploaded', $uploadForm);

 

// check for standard uploading errors

foreach($active_keys as $key)

{

($_FILES[$fieldname]['error'][$key] == 0)

or error($_FILES[$fieldname]['tmp_name'][$key].': '.$errors[$_FILES[$fieldname]['error'][$key]], $uploadForm);

}

 

// check that the file we are working on really was an HTTP upload

foreach($active_keys as $key)

{

@is_uploaded_file($_FILES[$fieldname]['tmp_name'][$key])

or error($_FILES[$fieldname]['tmp_name'][$key].' not an HTTP upload', $uploadForm);

}

 

// validation... since this is an image upload script we

// should run a check to make sure the upload is an image

foreach($active_keys as $key)

{

@getimagesize($_FILES[$fieldname]['tmp_name'][$key])

or error($_FILES[$fieldname]['tmp_name'][$key].' not an image', $uploadForm);

}

 

// make a unique filename for the uploaded file and check it is

// not taken... if it is keep trying until we find a vacant one

foreach($active_keys as $key)

{

$now = time();

while(file_exists($uploadFilename[$key] = $uploadsDirectory.$now.'-'.$_FILES[$fieldname]['name'][$key]))

{

$now++;

}

}

 

// now let's move the file to its final and allocate it with the new filename

foreach($active_keys as $key)

{

@move_uploaded_file($_FILES[$fieldname]['tmp_name'][$key], $uploadFilename[$key])

or error('receiving directory insuffiecient permission', $uploadForm);

}

 

// If you got this far, everything has worked and the file has been successfully saved.

// We are now going to redirect the client to the success page.

header('Location: ' . $uploadSuccess);

 

// make an error handler which will be used if the upload fails

function error($error, $location, $seconds = 5)

{

header("Refresh: $seconds; URL=\"$location\"");

echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"'."\n".

'"http://www.w3.org/TR/html4/strict.dtd">'."\n\n".

'<html lang="en">'."\n".

' <head>'."\n".

' <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">'."\n\n".

' <link rel="stylesheet" type="text/css" href="stylesheet.css">'."\n\n".

' <title>Upload error</title>'."\n\n".

' </head>'."\n\n".

' <body>'."\n\n".

' <div id="Upload">'."\n\n".

' <h1>Upload failure</h1>'."\n\n".

' <p>An error has occured: '."\n\n".

' <span class="red">' . $error . '...</span>'."\n\n".

' The upload form is reloading</p>'."\n\n".

' </div>'."\n\n".

'</html>';

exit;

} // end error handler

}

 

?>

using above program.i need to get uploaded image name with extension and store into mysql table.above coding work when i assign all file type named as file[];if i use three different file name,it showing error..

am getting textbox values like

$filepic=$_POST["file"];

i can able to get only first image file name.i cannot get other two file name.pls guide me..thanks in advance....

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.