Soldato
1) a) How do I force my upload script (VERY basic one I have edited) to rename uploads to lowercase (including the file extension).
b) How do I make it rename .jpeg to .jpg?
c) Would be possible, if I had a textbox, to allow the image to be uploaded renamed with the contents of the textbox?
d) It used to give the user a rejection message if the file type wasn't supported, now it just gives a zero sized reply.... any ideas?
2) I am using the below to fetch the files in a directory and display them. This works fine, HOWEVER, how do I get it to display ONLY those files that end with ".thumb.jpg" ?
Many thanks guys
b) How do I make it rename .jpeg to .jpg?
c) Would be possible, if I had a textbox, to allow the image to be uploaded renamed with the contents of the textbox?
d) It used to give the user a rejection message if the file type wasn't supported, now it just gives a zero sized reply.... any ideas?
Code:
<?php
$my_max_file_size = "2097152"; # in bytes
$image_max_width = "3000"; # in pixels
$image_max_height = "3000"; # in pixels
$the_path = "/usr/";
$registered_types = array(
"image/pjpeg" => ".jpg, .jpeg",
"image/jpeg" => ".jpg, .jpeg",
);
$allowed_types = array("image/pjpeg","image/jpeg");
function form($error=false) {
global $PHP_SELF,$my_max_file_size;
if ($error) print $error . "<br>";
print "\n<font size=\"2\" face=\"Tahoma\"><b>Upload a file:</b></font><br><br>";
print "\n<form ENCTYPE=\"multipart/form-data\" ONSUBMIT=\"alert('Picture will be uploaded!');\" action=\"" . $PHP_SELF . "\" method=\"post\">";
print "\n<INPUT TYPE=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"" . $my_max_file_size . "\">";
print "\n<INPUT TYPE=\"hidden\" name=\"task\" value=\"upload\">";
print "\n<font size=\"2\" face=\"Tahoma\">NOTE: Max file size is " . ($my_max_file_size / 1048576) . "MB, supported file types: .jpg .jpeg .gif";
print "\n</font><br><INPUT NAME=\"the_file\" TYPE=\"file\" SIZE=\"35\"><br>";
print "\n<input type=\"submit\" Value=\"Upload\">";
print "\n</form>";
} # END form
if (!ereg("^4",phpversion())) {
function in_array($needle,$haystack) { # we have this function in PHP4, so for you PHP3 people
for ($i=0; $i < count($haystack); $i++) {
if ($haystack[$i] == $needle) {
return true;
}
}
}
}
function validate_upload($the_file) {
global $my_max_file_size, $image_max_width, $image_max_height,$allowed_types,$the_file_type,$registered_types;
$start_error = "\n<br><font size=\"2\" face=\"Tahoma\"><b>Error:</b></font>\n<ul>";
if ($the_file == "none") { # do we even have a file?
$error .= "\n<li>You did not upload anything!</li>";
} else { # check if we are allowed to upload this file_type
if (!in_array($the_file_type,$allowed_types)) {
$error .= "\n<font size=\"2\" face=\"Tahoma\">The file that you uploaded was of a ".
"type that is not allowed, you are only
allowed to upload files of the type:\n<ul>";
while ($type = current($allowed_types)) {
$error .= "\n<li>" . $registered_types[$type] . " (" . $type . ")</li>";
next($allowed_types);
}
$error .= "\n</ul></font>";
}
if (ereg("image",$the_file_type) && (in_array($the_file_type,$allowed_types))) {
$size = GetImageSize($the_file);
list($foo,$width,$bar,$height) = explode("\"",$size[3]);
if ($width > $image_max_width) {
$error .= "\n<li>Your image should be no wider than " .
$image_max_width . " Pixels</li>";
}
if ($height > $image_max_height) {
$error .= "\n<li>Your image should be no higher than " .
$image_max_height . " Pixels</li>";
}
}
if ($error) {
$error = $start_error . $error . "\n</ul>";
return $error;
} else {
return false;
}
}
} # END validate_upload
function upload($the_file) {
global $the_path,$the_file_name;
$error = validate_upload($the_file);
if ($error) {
form($error);
} else { # cool, we can continue
if (!@copy($the_file, $the_path . "/" . $the_file_name)) {
form("\n<b>FATAL ERROR</b>");
} else {
print "\n<font size=\"2\" face=\"Tahoma\"><b>Done :-)</b></font><br><br>";
print "\n<SCRIPT LANGUAGE=\"JavaScript\">window.location=\"index.php\";</script>";
}
}
} # END upload
?>
<?php
switch($task) {
case 'upload':
upload($the_file);
break;
default:
form();
}
?>
2) I am using the below to fetch the files in a directory and display them. This works fine, HOWEVER, how do I get it to display ONLY those files that end with ".thumb.jpg" ?
Code:
<?
$dir_handle = @opendir('../pics');
if ( !$sort ){
while ($file = readdir($dir_handle)) {
if ($file != '.htaccess' && $file != '.' && $file != '..' && $file != 'index.php' && $file != 'template.php' && $file != 'white.gif'){
$filenothumb = substr($file, 0, -10);
$file1= basename($filenothumb, ".jpg");
echo "<option value=\"$file\">$file1</option>";
}
}
}
closedir($dir_handle);
Many thanks guys