This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
online_experiments [2019/08/16 13:28] admin created |
online_experiments [2019/08/16 14:25] (current) admin |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | <html><head><style type="text/css"> | + | {{FileSharing}} |
| - | <!-- body { font-family: "Trebuchet MS",Verdana,Arial,Helvetica,sans-serif; font-size: 10pt; background-color: #eee;} --> | + | |
| - | </style> | + | |
| - | <?php | + | |
| - | // A simple, minimalist, personal file/image hosting script. - version 0.5 | + | |
| - | // Only you can upload a file or image, using the password ($PASSWORD). | + | |
| - | // Anyone can see the images or download the files. | + | |
| - | // Files are stored in a subdirectory (see $SUBDIR). | + | |
| - | // This script is public domain. | + | |
| - | // Source: http://sebsauvage.net/wiki/doku.php?id=php:imagehosting | + | |
| - | $PASSWORD='toto'; | + | |
| - | $SUBDIR='files'; // subdirectory where to store files and images. | + | |
| - | if (!is_dir($SUBDIR)) | + | |
| - | { | + | |
| - | mkdir($SUBDIR,0705); chmod($SUBDIR,0705); | + | |
| - | $h = fopen($SUBDIR.'/.htaccess', 'w') or die("Can't create .htaccess file."); | + | |
| - | fwrite($h,"Options -ExecCGI\nAddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi"); | + | |
| - | fclose($h); | + | |
| - | $h = fopen($SUBDIR.'/index.html', 'w') or die("Can't create index.html file."); | + | |
| - | fwrite($h,'<html><head><meta http-equiv="refresh" content="0;url='.$_SERVER["SCRIPT_NAME"].'"></head><body></body></html>'); | + | |
| - | fclose($h); | + | |
| - | } | + | |
| - | $scriptname = basename($_SERVER["SCRIPT_NAME"]); | + | |
| - | if (isset($_FILES['filetoupload']) && isset($_POST['password'])) | + | |
| - | { | + | |
| - | sleep(3); // Reduce brute-force attack effectiveness. | + | |
| - | if ($_POST['password']!=$PASSWORD) { print 'Wrong password.'; exit(); } | + | |
| - | $filename = $SUBDIR.'/'.basename( $_FILES['filetoupload']['name']); | + | |
| - | if (file_exists($filename)) { print 'This file already exists.'; exit(); } | + | |
| - | if(move_uploaded_file($_FILES['filetoupload']['tmp_name'], $filename)) | + | |
| - | { | + | |
| - | $serverport=''; if ($_SERVER["SERVER_PORT"]!='80') { $serverport=':'.$_SERVER["SERVER_PORT"]; } | + | |
| - | $fileurl='http://'.$_SERVER["SERVER_NAME"].$serverport.dirname($_SERVER["SCRIPT_NAME"]).'/'.$SUBDIR.'/'.basename($_FILES['filetoupload']['name']); | + | |
| - | echo 'The file/image was uploaded to <a href="'.$fileurl.'">'.$fileurl.'</a>'; | + | |
| - | } | + | |
| - | else { echo "There was an error uploading the file, please try again !"; } | + | |
| - | echo '<br><br><a href="'.$scriptname.'">Upload another file.</a>'; | + | |
| - | exit(); | + | |
| - | } | + | |
| - | print <<<EOD | + | |
| - | <form method="post" action="$scriptname" enctype="multipart/form-data"> | + | |
| - | File/image to upload: <input type="file" name="filetoupload" size="60"> | + | |
| - | <input type="hidden" name="MAX_FILE_SIZE" value="256000000"><br> | + | |
| - | Password: <input type="password" name="password"><br> | + | |
| - | <input type="submit" value="Send"> | + | |
| - | </form> | + | |
| - | <small>Self-hosting php script by <a href="http://sebsauvage.net/wiki/doku.php?id=php:filehosting">sebsauvage.net</a></small> | + | |
| - | EOD; | + | |
| - | ?> | + | |
| - | </body> | + | |
| - | </html> | + | |