Having problem with a PHP module.

Started by SinekSekiz, July 26, 2007, 12:28:54 PM

Previous topic - Next topic

SinekSekiz

Hi guys.

I have following script from net and I do not have any chance to reach who made it.

In script I would like to change original file name to users name. User name stored in my users table inside uLogin column.

Could it be possible?

Thank you.

PHP Script:



<html>

<head>

<?php

if ($_SERVER['REQUEST_METHOD'] == "POST")
{

   
/* SUBMITTED INFORMATION - use what you need
    * temporary filename (pointer): $imgfile
    * original filename           : $imgfile_name
    * size of uploaded file       : $imgfile_size
    * mime-type of uploaded file  : $imgfile_type
    */

    /*== upload directory where the file will be stored
         relative to where script is run ==*/
   
   
$uploaddir = "./avatar/";
   

   
/*== get file extension (fn at bottom of script) ==*/
   /*== checks to see if image file, if not do not allow upload ==*/
   
$pext = getFileExtension($imgfile_name);
   
$pext = strtolower($pext);
   if ((
$pext != "jpg")  && ($pext != "jpeg"))
   {
       print
"<h1>ERROR</h1>Image Extension Unknown.<br>";
       print
"<p>Please upload only a JPEG image with the extension .jpg or .jpeg ONLY<br><br>";
       print
"The file you uploaded had the following extension: $pext</p>\n";

       
/*== delete uploaded file ==*/
       
unlink($imgfile);
       exit();
   }


   
//-- RE-SIZING UPLOADED IMAGE

   /*== only resize if the image is larger than 250 x 200 ==*/
   
$imgsize = GetImageSize($imgfile);

   
/*== check size  0=width, 1=height ==*/
   
if (($imgsize[0] > 250) || ($imgsize[1] > 200))
   {
       
/*== temp image file -- use "tempnam()" to generate the temp
            file name. This is done so if multiple people access the
           script at once they won't ruin each other's temp file ==*/
       
$tmpimg = tempnam("/tmp", "MKUP");

       
/*== RESIZE PROCESS
            1. decompress jpeg image to pnm file (a raw image type)
            2. scale pnm image
            3. compress pnm file to jpeg image
       ==*/
       
       /*== Step 1: djpeg decompresses jpeg to pnm ==*/
       
system("djpeg $imgfile >$tmpimg");
       

       
/*== Steps 2&3: scale image using pnmscale and then
            pipe into cjpeg to output jpeg file ==*/
       
system("pnmscale -xy 250 200 $tmpimg | cjpeg -smoo 10 -qual 50 >$imgfile");

       
/*== remove temp image ==*/
       
unlink($tmpimg);

   }

   
/*== setup final file location and name ==*/
   /*== change spaces to underscores in filename  ==*/
   
$final_filename = str_replace(" ", "_", $imgfile_name);
   
$newfile = $uploaddir . "/$final_filename";
   
   
/*== do extra security check to prevent malicious abuse==*/
   
if (is_uploaded_file($imgfile))
   {

     
/*== move file to proper directory ==*/
     
if (!copy($imgfile,"$newfile"))
      {
         
/*== if an error occurs the file could not
              be written, read or possibly does not exist ==*/
         
print "Error Uploading File.";
         exit();
      }
    }

   
/*== delete the temporary uploaded file ==*/
   
unlink($imgfile);

   
   print(
"<img src=\"$final_filename\">");

   
/*== DO WHATEVER ELSE YOU WANT
        SUCH AS INSERT DATA INTO A DATABASE  ==*/

}
?>


</head>
<body bgcolor="#FFFFFF">

    <h2>Upload and Resize an Image</h2>

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="50000">

    <p>Upload Image: <input type="file" name="imgfile"><br>
    <font size="1">Click browse to upload a local file</font><br>
    <br>
    <input type="submit" value="Upload Image">
    </form>
<?
echo $final_filename;
?>
</body>
</html>

<?php
   
/*== FUNCTIONS ==*/

   
function getFileExtension($str) {

       
$i = strrpos($str,".");
       if (!
$i) { return ""; }

       
$l = strlen($str) - $i;
       
$ext = substr($str,$i+1,$l);

       return
$ext;

   }
?>


You know you want to use it... So use it.

Dulce et Decorum est Pro SinekSekiz Mori

We are all figures. For men it's the money in your bank. For women it's the cup size of your boobs.

Advertisement: