I'm having a little struggle getting a PHP file to upload 2 files
simultaneously.
The code follows. The first image always gets uploaded but the second one
sometimes does but when it does it is a duplicate of the first image but
named as the second.
There's probably a real simple solution but obviously I'm not seeing it.
Here's the code:
if (($userfile=="") OR ($userfile=="none")) {
$userfile="";
}
// $Description=nl2br($Description);
if ($userfile!="") { // can only check all aspects of the upload it if it is
used
// prep the image
$newname = $userfile_name;
$Image=$userfile_name; // the name that will be saved to the database
// get the size of the image
$TheImage=$userfile;
$imagehw = GetImageSize($TheImage);
$ImageWidth = $imagehw[0];
$ImageHeight = $imagehw[1];
function do_upload($filename,$newname) {
$file = basename($filename);
$tmp_upload_path = "/tmp/";
$new_file_name = "/home/httpd/vhtdocs/ramco/uploaded/".$newname;
if (!copy($tmp_upload_path.$file, $new_file_name)) echo "failed to copy
file<br>Possibly due to it being larger than 30k (30,000 bytes).\n";
return;
}
if ($CurrentImage!="") { // means we need to delete the existing file if it
exists
if(file_exists("/home/httpd/vhtdocs/ramco/uploaded/".$CurrentImage)) {
$filename="/home/httpd/vhtdocs/ramco/uploaded/" .$CurrentImage;
unlink($filename);
} // file deleted if it exists
} // end looking for existing file if $CurrentImage!=""
// extract file extension of uploaded file
$arr_basename=explode(".",$newname);
$file_type=$arr_basename[1];
if ($file_type!="jpg") {
$Error="NotJPG";
}
// allow upload only for specific types
elseif ($ImageWidth>400) {
$Error="TooBig";
}
else {
do_upload($userfile,$newname);
}
if ($userfile_size>$MAX_UPLOAD_SIZE) {
$filename="/home/httpd/vhtdocs/ramco/uploaded/" .$userfile_name;
if (unlink($filename)) {
$Error="FileSizeTooBig";
}
}
} // if first upload was successful, do the next image
function do_upload2($filename2,$newname2) {
$file2 = basename($filename2);
$tmp_upload_path2 = "/tmp/";
$new_file_name2 = "/home/httpd/vhtdocs/ramco/uploaded/".$newname2;
if (!copy($tmp_upload_path2.$file2,$new_file_name2)) echo "failed to copy
file<br>Possibly due to it being larger than 30k (30,000 bytes).\n";
return;
}
// now do userfile2
if (($userfile2=="") OR ($userfile2=="none")) {
$userfile2="";
}
if ($userfile2!="") { // can only check all aspects of the upload it if it
is used
// prep the image
$newname2 = $userfile2_name;
$Image2=$userfile2_name; // the name that will be saved to the database
// get the size of the image
$TheImage2=$userfile2;
$imagehw2 = GetImageSize($TheImage2);
$ImageWidth2 = $imagehw2[0];
$ImageHeight2 = $imagehw2[1];
if ($CurrentImage2!="") { // means we need to delete the existing file if
it exists
if(file_exists("/home/httpd/vhtdocs/ramco/uploaded/".$CurrentImage2)) {
$filename2="/home/httpd/vhtdocs/ramco/uploaded/" .$CurrentImage2;
unlink($filename2);
} // file deleted if it exists
} // end looking for existing file if $CurrentImage!=""
// extract file extension of uploaded file
$arr_basename=explode(".",$newname2);
$file_type=$arr_basename[1];
if ($file_type!="jpg") {
$Error2="NotJPG";
}
// allow upload only for specific types
elseif ($ImageWidth>400) {
$Error2="TooBig";
}
else {
do_upload2($userfile,$newname);
}
if ($userfile_size>$MAX_UPLOAD_SIZE) {
$filename2="/home/httpd/vhtdocs/ramco/uploaded/" .$userfile_name2;
if (unlink($filename2)) {
$Error2="FileSizeTooBig";
}
}
} // if the uploads were successful, save the entry into the database
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php