:- Copyright (c) 2005 All Rights Reserved :- :- This script is free software; you can redistribute it and/or modify :- it under the terms of the GNU General Public License as published by :- the Free Software Foundation; either version 2 of the License, or :- (at your option) any later version. :- :- This script is distributed in the hope that it will be useful, :- but WITHOUT ANY WARRANTY; without even the implied warranty of :- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the :- GNU General Public License for more details. :- :- //================================================================================ * Description //================================================================================ :- phUploader is a script for uploading single or multiple images or files to your webiste. You can specify your own file extensions :- that are accepted, the file size and naming options. This was tested with Linux and WindowsXP (EasyPHP) / Windows Server 2003 (IIS6). :- This script is very useful for temporary file storage or simple sig and avatar hosting. //================================================================================ * Setup //================================================================================ :- To setup this script, upload phUploader.php to a folder on your server. Create a new folder named uploads and chmod it to 777. :- Edit the variables below to change how the script acts. Please read the notes of you don't understand something. :- Due to many problems with permissions this script will not longer automatically create folders for you, sorry. //================================================================================ * Frequently Asked Questions //================================================================================ :- Q1: I always get an error that the files were not uploaded :- A1: Make sure you have CHMOD your uploads folder to 777 using your FTP client or similar. If you do not know how to do this ask your host, I am 100% sure they know how, or else you should find another one. :- A2: Make sure the uploads folder exists. This is the second most common mistake aside from CHMOD. The folder has to exists so the files have somewhere to go! :- A3: If you are having problems uploading after you have chmod the uploads folder 777, try using the full server path in $fullpath below. If you do not know this ask your host. :- :- Q2: The page takes forever to load and then times out bringing me to a page cannot be displayed! Stupid script! :- A1: This is usually due to a low value in php.ini for max_execution_time. Ask your host to increase the value. Be aware that the time needed depends on the size the file(s) users are upload and the speed of THERE internet connection for uploading the files. If they are on 56k uploading 1mb will take forever, so the value may need to be set very high! :- A2: You really can have as many uploads as you want. I tested up to 12 uploads on Windows 2003 Server / XP & Red Hat 9/ Enterprise Linux 3/4. Several reasons could cause this. Your mail server could be rejecting that many at one time, your post_max_size, upload_max_filesize, file_uploads, max_execution_time in php.ini might be set to low or off. Contact your host to resolve this. :- :- Q3: How do I edit the colors of the form? :- A1: Due to many requests I used CSS instead of hard coding it into the php. I also made it easier to understand. The only bad part is if you are extremely novice you may have problems editing the CSS. Check to brush up on CSS to change the colors of this script. The CSS is located near the end of this script. :- :- Q4: Can I remove your copyright? :- A1: I can't really physically stop you. But it's much appreciated by the people that leave it on there. Some people donate me $15-$20 to take it off. If you donate a small amount to me I might just not care as much. :- A2: When I go to your site and see this script no matter how much you tried to edit it to hide the fact, I usually know it's mine and will usually report it to your host if I'm not to busy. ~35 down and counting! :- A3: So basically unless I say it's ok just leave it on there.. It doesn't hurt you at all does it? Does that little bit of text just make your balls itch? If it's that bad then go ahead... :- :- Q5: You never respond to my emails or in your forums (! :- A1: I know and I'm sorry. I'm a very busy guy. I'm out of town a lot, and at any given time I have several projects going on. I get a lot of emails about this script, not to mention my other ones. Sometimes I just get too many of the same emails.. I usually clear out my inbox every week on a non specific day. :- A2: I only understand English. If you do know English but it's very bad please write in your native language and then translate it to English using :- A3: You will get a much faster and much more detailed response if you write a decent message. "dude me form don't work see it at what's wrong??!?!" will get no response, ever. Write in detail what the problem is and what you did to try and fix it. Spend a minute on it, and I'll take some of my time to reply. :- A4: Please don't speak in h4x0r language. I do understand it but it's very annoying to me. I will most likely just chuckle and delete it. :- /* //================================================================================ * ! ATTENTION ! //================================================================================ :- Please read the above FAQ before giving up or emailing me. It may sort out your problems! */ // Max size PER file in MB, not bytes for simplicity! $max_file_size="10"; // Max size for all files COMBINED in KB, not bytes for simplicity! $max_combined_size="2048"; //How many file uploads do you want to allow at a time? $file_uploads="1"; //The name of the uploader.. $websitename="SID - Senver Image Dump"; // Use random file names? true=yes (recommended), false=use original file name. Random names will help prevent overwritting of existing files! $random_name=true; // Please keep the array structure. $allow_types=array("jpg","gif","png","zip","rar","txt","doc","docx","pdf"); // Path to files folder. If this fails use $fullpath below. With trailing slash $folder="./up/"; // Full url to where files are stored. With Trailing Slash $full_url=""; $download_url=""; // Only use this variable if you wish to use full server paths. Otherwise leave this empty! With trailing slash $fullpath=""; //Use this only if you want to password protect your uploads. $password=""; /* //================================================================================ * ! ATTENTION ! //================================================================================ : Don't edit below this line unless you know some php. Editing some variables or other stuff could cause undeseriable results!! */ // MD5 the password.. why not? $password_md5=md5($password); // If you set a password this is how they get verified! If($password) { If($_POST['verify_password']==true) { If(md5($_POST['check_password'])==$password_md5) { setcookie("phUploader",$password_md5,time()+86400); sleep(1); //seems to help some people. header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); exit; } } } // The password form, if you set a password and the user has not entered it this will show. $password_form=""; If($password) { If($_COOKIE['phUploader']!=$password_md5) { $password_form="
\n"; $password_form.="\n"; $password_form.="\n"; $password_form.="\n"; $password_form.="\n"; $password_form.="\n"; $password_form.="\n"; $password_form.="\n"; $password_form.="\n"; $password_form.="\n"; $password_form.="\n"; $password_form.="
Password Required
Enter Password:
\n"; $password_form.="\n"; $password_form.="\n"; $password_form.="
\n"; $password_form.="
\n"; } } // Function to get the extension a file. function get_ext($key) { $key=strtolower(substr(strrchr($key, "."), 1)); // Cause there the same right? $key=str_replace("jpeg","jpg",$key); return $key; } $ext_count=count($allow_types); $i=0; foreach($allow_types AS $extension) { //Gets rid of the last comma for display purpose.. If($i <= $ext_count-2) { $types .="*.".$extension.", "; } Else { $types .="*.".$extension; } $i++; } unset($i,$ext_count); // why not $error=""; $display_message=""; $uploaded==false; // Dont allow post if $password_form has been populated If($_POST['submit']==true AND !$password_form) { For($i=0; $i <= $file_uploads-1; $i++) { If($_FILES['file']['name'][$i]) { $ext=get_ext($_FILES['file']['name'][$i]); $size=$_FILES['file']['size'][$i]; $max_bytes=$max_file_size*1024*1024; // For random names If($random_name){ $file_name[$i]=time()+rand(0,100000).".".$ext; } Else { $file_name[$i]=$_FILES['file']['name'][$i]; } //Check if the file type uploaded is a valid file type. If(!in_array($ext, $allow_types)) { $error.= "Ongeldige extentie voor het bestand: ".$_FILES['file']['name'][$i].", alleen ".$types." zijn toegestaan.
Je bestand is niet geŁpload.
"; //Check the size of each file } Elseif($size > $max_bytes) { $error.= "Het bestand ".$_FILES['file']['name'][$i]." is te groot. Maximale grootte is ".$max_file_size." MB.
Je bestand is niet geŁpload.
"; // Check if the file already exists on the server.. } Elseif(file_exists($folder.$file_name[$i])) { $error.= "Het bestand: ".$_FILES['file']['name'][$i]." bestaat al op de server, wijzig de naam van het bestand.
Je bestand is niet geŁpload.
"; } } // If Files } // For //Tally the size of all the files uploaded, check if it's over the ammount. $total_size=array_sum($_FILES['file']['size']); $max_combined_bytes=$max_file_size*$file_uploads*1024*1024; If($total_size > $max_combined_bytes) { $error.="De maximale totale grootte bedraagt ".$max_combined_size."kb en is overschreden.
"; } // If there was an error take notes here! If($error) { $display_message=$error; } Else { // No errors so lets do some uploading! For($i=0; $i <= $file_uploads-1; $i++) { If($_FILES['file']['name'][$i]) { If(@move_uploaded_file($_FILES['file']['tmp_name'][$i],$folder.$file_name[$i])) { $uploaded=true; } Else { $display_message.="Kon ".$file_name[$i]." niet naar de server kopiŽren \n"; } } } //For } // Else } // $_POST AND !$password_form /* //================================================================================ * Start the form layout //================================================================================ :- Please know what your doing before editing below. Sorry for the stop and start php.. people requested that I use only html for the form.. */ ?> <br /> <b>Notice</b>: Undefined variable: websitename in <b>/home/vhosting/h/vhost0022304/domains/</b> on line <b>267</b><br />
Je bestand staat online.

#".$file.": ".$full_url.$file_name[$i]." (download)

\n"); } } ?>

Notice: Undefined variable: display_message in /home/vhosting/h/vhost0022304/domains/ on line 309

Notice: Undefined variable: websitename in /home/vhosting/h/vhost0022304/domains/ on line 317


Q: Hoe moet ik uploaden?
A: Heel simpel: druk op "bladeren" en selecteer het plaatje dat je wilt uploaden. Druk daarna op "Dump!".

Q: Hoe lang duurt het uploaden?
A: Dat hangt van je internet verbinding af, maar meestal duurt het niet langer dan een paar seconden.

Q: Kan ik meer als 1 bestand tegelijk uploaden?
A: Dat kan je hier doen.

Notice: Undefined variable: types in /home/vhosting/h/vhost0022304/domains/ on line 341

Max grootte:
Notice: Undefined variable: max_file_size in /home/vhosting/h/vhost0022304/domains/ on line 344