Created
January 16, 2016 21:35
-
-
Save alyssacodes/b474b6855c109c0f884b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Created by PhpStorm. | |
* User: Alyssa | |
* Date: 1/16/2016 | |
* Time: 1:12 PM | |
*/ | |
$max_size = 30000; //30KB | |
$location = 'uploads/'; //where the file is going | |
if (isset($_POST['submit'])) { //checking for anythiing will break the code | |
$name = $_FILES['file']['name']; //file name | |
$size = $_FILES['file']['size']; //file size | |
$type = $_FILES['file']['type']; //file type | |
$tmp_name = $_FILES['file']['tmp_name']; //temp location on server | |
if(checkType($name, $type) && checkSize($size, $max_size)){ | |
if (isset($name)) { | |
save_file($tmp_name, $name, $location); //call my function | |
} | |
} | |
} else { | |
echo 'Please select a file:'; | |
} | |
function checkType($name, $type){ | |
//$extension = strtolower(substr($name, strpos($name, '.') + 1)); //get the extension | |
$extension = pathinfo($name, PATHINFO_EXTENSION); //better way to get extension | |
if (!empty($name)) { | |
if (($extension == 'jpg' || $extension == 'png') && ($type == 'image/jpeg' || $type == 'image/png')) { | |
return true; | |
} else{ | |
echo 'That is not a jpg or png'; | |
return false; | |
} | |
} | |
} | |
function checkSize($size, $max_size){ | |
if($size <= $max_size){ | |
return true; | |
} else{ | |
echo 'File is too large. Max size in 30KB.'; | |
return false; | |
} | |
} | |
function fileExists($name){ | |
$filename = rand(1000,9999).md5($name).rand(1000, 9999); | |
echo $filename; | |
return false; | |
} | |
function save_file($tmp_name, $name, $location){ | |
$og_name = $name; | |
//so long as the name is in existance - loop to check new name after it is generated | |
while (file_exists('uploads/' . $name)) { | |
echo 'File already exists. Generating name.<br/>'; | |
$rand = rand(10000, 99999); | |
$name = $rand . '.' . pathinfo($name, PATHINFO_EXTENSION); //create new name | |
} | |
if (move_uploaded_file($tmp_name, $location . $name)) { | |
echo 'Success! ' . $og_name . ' was uploaded'; | |
if(!($og_name==$name)){ //if original name != name | |
echo ' and renamed to '.$name.'.<br/>'; | |
} else{ | |
echo '.'; | |
} | |
} else { | |
echo 'ERROR!'; | |
} | |
} | |
?> | |
<form action="" method="POST" enctype="multipart/form-data"> | |
<input type="file" name="file"/> | |
<input type="submit" name="submit" value="Submit"/> | |
</form> |
Hi! Thanks for your code! How is it possible to save it to my page? If i just "star" it will it be saved forever, or it will disappear after you delete this file?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
bless you, you might add couple of zeros to your max upload limit. Surely it won't harm anyone.