baderandsonsco |
03-21-2008 08:50 PM |
Here's one that I just wrote for my site.
name yourfolder and yourfile accordingly.
this only accepts .zip files, but you can change it to whatever through $allowed_ext
don't forget to set a proper filesize in the form.
Hope this helps.
Code:
<?php
$target_path = "/full/target/path/yourfolder/";
$uploadfile = $target_path . basename($_FILES['yourfile']['name']);
$allowed_ext = ".zip";
$badsubmit = '';
if ( $_POST['submitted'] ) {
$originalname = $_FILES['yourfile']['name'];
$extpos = strrpos( $originalname, "." );
if ( $extpos === false ) {
$extpos = strlen($originalname);
}
$extlen = strlen($originalname) - $extpos;
$ext = strtolower( substr( $originalname, $extpos, $extlen ) );
$name = substr( $originalname, 0, $extpos );
if ( $ext != $allowed_ext ) {
$badsubmit .= "Only $allowed_ext files are allowed.<br>";
}
if (file_exists($uploadfile)) {
$badsubmit .= "The file $originalname exists";
}
if ( !$badsubmit ) {
switch ($_FILES['yourfile'] ['error']) {
case 1:
print '<p> The file is bigger than this PHP installation allows.</p>';
break;
case 2:
print '<p> The file is bigger than this form allows.</p>';
break;
case 3:
print '<p> Only part of the file was uploaded.</p>';
break;
case 4:
print '<p> No file was uploaded.</p>';
break;
}
if (move_uploaded_file($_FILES['yourfile']['tmp_name'], $uploadfile)) {
echo " Your file was valid and has been uploaded successfully. Thank you for your contribution.<br><br>";
}
} else {
echo "<div style=\"text-align:center;color:red;padding:10px;\"> $badsubmit </div>";
}
} ?>
<form name="myform" enctype="multipart/form-data" method="post" action="<?PHP echo $_SERVER['PHP_SELF']; ?>"
onsubmit="document.myform.submitbutton.disabled=true;return true;">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
<input type="file" name="yourfile" />
<input type="hidden" name="submitted" value="1 /">
<input name="submitbutton" type="submit" value="Upload File" />
</form>
|