Here's what I use.  It is for multiple files.  It has some bugs (for
instance, if it errors out it still reports success) so if you fix them, I'd
appreciate you sending me the fix.  I rename the files as they come in with
this script in case you're confused by the rename....

Directory names have been changed to protect the innocent.

------------------


if ( isset ( $files ) ) {

//send an email to the webmaster if someone hits this area
MAIL( "[EMAIL PROTECTED]", "CC Resolution Uploads Attempted", "From:
$email\nX-Mailer: PHP/" . phpversion());

        for ( $i=0  ; file_exists ( $files[$i] ) ; $i++ ) {
                echo "Trying to upload " . $files_name[$i] . "...<br />\n";

     // if the file is too big, don't accept it (200K)
     if ( $files_size[$i] > 200000 ) {
           echo "The file, $result_name ($file_size bytes), is too big.
Files that large are too big for this particular use.  Possible attack
dropped.  Please contact $webmaster if you receive this message.<br />\n";
                }

            // if $result_name isn't empty, try to copy the file
            elseif ( eregi ( "([0-9]{1,3})\-([0-9]{1,3})([A-Za-z]?)([a-z0-9
,.]*).(doc|rtf)" , $files_name[$i] , $newres_name ) ) {

                        echo "ERROR CHECK: Good Name!<br />\n";
                        $newfilename = $newres_name[1] . '-' .
$newres_name[2] . $newres_name[3] . "." . $newres_name[5];

                         if ( !file_exists ( $newfilename ) ) {

                            // copy the file to a directory or
                            // print an error message

                            // NOTE! if you're on a Windows machine,
                            // use Windows pathnames, like so:
                            // copy("$img1",
"C:\\some\\directory\\path\\$img1_name");

                            copy("$files[$i]",
"D:\\foo\\bar\\fbarred\\$files_name[$i]")
                    or die("Couldn't copy the file!");

                                   //rename the file
                                  rename("D:/foo/bar/fbarred/" .
$files_name[$i], "D:/foo/bar/fbarred/" . $newfilename);

    ?>
          <H2>SUCCESS!</H2>
          <P><B>You sent:</B> <? echo "$files_name[$i]"; ?>, a <? echo
"$files_size[$i]"; ?>
          byte file with a mime type of <? echo "$files_type[$i]"; ?>.<br />
        It has been renamed <B><? echo "$newfilename";
?></B>.</p><P>&nbsp;</P><P>&nbsp;</P>

  <?PHP
                                  }
                                else {
                                        //file as renamed already exists
                                        //GOTTA DO SOMETHING HERE TO ALLOW A
REPLACE
                                        echo "<H3>That file already
exists!</H3><br /><br />\n";
                                }
                }

                else {
                         //file didn't fit eregi check
                         echo "I don't understand that file name or no input
file specified.";
                }
        }
            
}

/* ***********************************
*** MAIN ELSE - form to enter file***
************************************ */
else { ?>
        <form enctype="multipart/form-data" method="post" action="<?echo
$PHP_SELF?>">

        <P><strong>File to Upload:</strong><P>
        <?PHP
                        for ($i=1 ; $i<=20 ; $i++ ) { ?>
                
        <P>File: <input type="file" name="files[]" size="60"></p>
                <?PHP } ?>
                
        <P>&nbsp;</P>

        <P><input type="submit" name="submit" value="Upload Results"></p>
        <?PHP
}





---------------------
John Asendorf - [EMAIL PROTECTED]
Web Applications Developer
http://www.lcounty.com - NEW FEATURES ADDED DAILY!
Licking County, Ohio, USA
740-349-3631
Nullum magnum ingenium sine mixtura dementiae fuit


> -----Original Message-----
> From: Andrew.Martin [mailto:[EMAIL PROTECTED]]
> Sent: Monday, October 01, 2001 7:07 AM
> To: [EMAIL PROTECTED]
> Subject: [PHP-WIN] copying files...?
> 
> 
> I want to copy a file from a users PC (via a form) to a 
> specific folder on
> the webserver and store the file name in the Database.
> I have tried to use the copy($string, $path) function but I 
> keep getting
> errors. 
> 
> Does anyone know a simplat solution for this? Do I have to 
> copy the contents
> of the file to a temp file on the server first? If so how?
> Or is there another function to do what I require?
> 
> thanks,
> 
> Andrew
> 

-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to