PDA

View Full Version : Upload Script [TUT]



Drompo
11-03-2007, 08:33 PM
I see alot of people requesting these at the moment. So i'll post mine.
First make a folder called uploader.
Then make one called images in side your uploader file.

Make this file index.php

<?
// Script Made By Ashley Cusack
// CONFIG
$serverpath = "images/"; // Path to where images should be upload the server.
$urltoimages = "http://sitename.domain/uploader/images"; // Web address to where the images are accessible from.
$maxsize = "500000"; // Example - 20000 is the same as 20kb
$uniq = uniqid("");
// CONFIG END

$mode = $_GET['mode'];
if ($mode == "") { $mode = "form"; }

if ($mode == "form") {
echo "<form enctype='multipart/form-data' method='post' action='?mode=upload'>\n";
echo "Upload file: <input type='file' name='file'>\n";
echo "<br><input type='submit' name='Submit' value='Upload'>\n";
echo "<br>Maximum File Size: $maxsizeb Bytes";
echo "<br>$file";
}

if ($mode == "upload") {
$file = $_FILES['file']['name'];
$name = time() . substr($file, -4);
// If you add your own file types don't forget to add an uppercase version.
$allowedfiles[] = "gif";
$allowedfiles[] = "jpg";
$allowedfiles[] = "jpeg";
$allowedfiles[] = "jfef";
$allowedfiles[] = "jpe";
$allowedfiles[] = "png";
$allowedfiles[] = "GIF";
$allowedfiles[] = "JPG";
$allowedfiles[] = "JPEG";
$allowedfiles[] = "JFEF";
$allowedfiles[] = "JPE";
$allowedfiles[] = "PNG";
$allowedfiles[] = "PDF";
$allowedfiles[] = "pdf";
$allowedfiles[] = "PSD";
$allowedfiles[] = "psd";
$allowedfiles[] = "bmp";
$allowedfiles[] = "BMP";
$allowedfiles[] = "tif";
$allowedfiles[] = "tiff";
$allowedfiles[] = "TIF";
$allowedfiles[] = "TIFF";
$allowedfiles[] = "dib";
$allowedfiles[] = "DIB";


if($_FILES['file']['size'] > $maxsize)
{
print "File size is too big - please reduce file size and try again.";
}
else {
$path = "$serverpath/" . $name;
foreach($allowedfiles as $allowedfile) {

if ($done <> "yes") {
if (file_exists($path)) {
echo "A file with this name already exists - please rename the file and reupload.";
exit;
}
}

if (substr($file, -3) == $allowedfile) {
move_uploaded_file($_FILES['file']['tmp_name'], "$path");
$done = "yes";
echo "<p>Your image has been successfully uploaded to our server and can be accessed using the URL provided below.</p>";
echo "<p><img src='$urltoimages/$name' border='0'>";
echo "<p>Direct Link: <input name='direct' type='text' size='75' value='$urltoimages/$name'></a></p>";

}

}

if ($done <> "yes") { print "<p><b>Error:</b> Your image as not been uploaded becuase it is not a recognised image file. Please try again.</p>"; }
}
}

?>
Where is says

$urltoimages = "http://sitename.domain/uploader/images"; // Web address to where the images are accessible from.
Change it to where your 'images' folder is. (Do not leave a trailing slash)

Where is says

$maxsize = "500000"; // Example - 500000 is the same as 500kb
Change that to the maximum size you want in bytes.
That uploader will host nearly every type of image. But you can add things like zips if you like by adding

$allowedfiles[] = "zip";
$allowedfiles[] = "ZIP";
Below

$allowedfiles[] = "DIB";

Adn that concludes this tutorial.

Frog!
11-03-2007, 09:01 PM
Very nice TUT <3 :)

Luckyrare
11-03-2007, 09:07 PM
Nice. On Uploadz rather than checking png, PNG it lowers the case when it checks so then you dont have problems if someone types in file.Png ect

Only thing is this doesnt really teach people much, you need to add more comments into the coding so people dont just use it without learning.

Andys
11-03-2007, 09:12 PM
nice tut, but you can only have a direct link.

I was looking for one with bb, html, url etc..

timROGERS
12-03-2007, 07:17 AM
nice tut, but you can only have a direct link.

I was looking for one with bb, html, url etc..

That wouldn't be difficult. Just use the normal HTML for forms, but use echo in PHP to echo the variables.

Verrou
16-03-2007, 06:14 AM
Superb i really needed this but what happened?
http://andrehamon.evenhosting.com/uploader

Florx
16-03-2007, 08:04 PM
Superb i really needed this but what happened?
http://andrehamon.evenhosting.com/uploader
Make sure the images folder is Chmod'ed to 777 :) then it can put the picture there!!!!

Mr.OSH
16-03-2007, 08:25 PM
Nice Tutorial + rep if I can... :D

Heinous
17-03-2007, 08:04 AM
Just a few notes for you to think about.

What if the extension is more than 3 characters? ie: torrents; phps.

Also, why not remove all the upper case versions of the extensions and add strtolower() to the filename, considering most are hosted on Linux boxes (Linux is case-sensitive filenames).

Verrou
18-03-2007, 12:27 AM
erm i chmod'd the images folder to 777 and it still doesn't work?

TehJoshy
20-03-2007, 03:37 PM
Very Useful :]!
Grats

Want to hide these adverts? Register an account for free!