Aquí el script completo:
Código PHP:
<?php
if($_POST['submit'] == "upload") {
if(!$_FILES['file']['tmp_name']) {
$error['upload']['empty'] = '<div style="color: red;">You can\'t leave this empty.</div>';
} else {
$image_info = getimagesize($_FILES['file']['tmp_name']);
$image_type = $image_info['mime'];
$image_mime = explode("image/", $image_info['mime']);
$type = $image_mime[1];
if(!in_array($type, array("bmp", "gif", "jpg", "jpeg", "pjpeg", "png", "x-png"))) {
$error['upload']['type'] = "tipo de archivo invalido";
}
}
$size = $_FILES['file']['size'];
$size_max = "10485760"; //10 MB
if($size > $size_max) {
$error['upload']['size'] = "La imagen supero el peso permitido";
}
if(!empty($_POST['email'])) {
if(!preg_match("/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)*\.([a-zA-Z]{2,6})/", $_POST['email'])) {
$error['upload']['email'] = "Email incorrecto";
}
} else {
$error['upload']['email_empty'] = '<div style="color: red;">You can\'t leave this empty.</div>';
}
$qwerty = array("Q","q", "W","w", "E","e", "R","r", "T","t", "Y","y", "U","u", "I","i", "O","o", "P","p", "A","a", "S","s", "D","d", "F","f", "G","g", "H","h", "J","j", "K","k", "L","l", "Z","z", "X","x", "C","c", "V","v", "B","b", "N","n", "M","m", "7", "8", "9", "4", "5", "6", "1", "2", "3");
$folder = "";
for($i = 0; $i <= 7; $i++) {
$random = array_rand($qwerty);
$folder .= $qwerty[$random];
unset($qwerty[$random]);
}
if(count($error) == 0) {
$query_iuid = "SELECT EMAIL FROM FREE_USERS WHERE EMAIL = '".mysql_real_escape_string($_POST['email'])."'";
$result_query_iuid = mysql_query($query_iuid);
if(mysql_num_rows($result_query_iuid) == 1) {
$query_update = "UPDATE FREE_USERS SET UPLOADS = UPLOADS + 1 WHERE EMAIL = '".mysql_real_escape_string($_POST['email'])."'";
$result_query_update = mysql_query($query_update);
} else {
$iuid_tmp = "";
for($tmp = 0; $tmp <= 7; $tmp++) {
$random_tmp = array_rand($qwerty);
$iuid_tmp .= $qwerty[$random_tmp];
$IUID = "IUID-" . wordwrap($iuid_tmp, 4, "-", true);
}
$query_add_user = "INSERT INTO FREE_USERS VALUES('$IUID', '1', '".date("Y-n-j H:i:s")."', '".mysql_real_escape_string($_POST['email'])."')";
$result_query_add_user = mysql_query($query_add_user);
$query_add_tmp_user = "INSERT INTO TMP_FREE_USERS VALUES('$IUID', '".date("Y-n-j H:i:s")."')";
$result_query_add_tmp_user = mysql_query($query_add_tmp_user);
include("src/send-mail-user.php");
}
$server = array("s1", "s2");
$rand_server = array_rand($server);
mkdir("servers/". $server[$rand_server] ."/". $folder);
$name = mt_rand() .'_'. mt_rand() .'_'. mt_rand();
move_uploaded_file($_FILES['file']['tmp_name'], "servers/". $server[$rand_server] ."/". $folder ."/". $name .".". $type);
$id = uniqid();
$name_img = explode(".", $_FILES['file']['name']);
$size_format = round($size / 1024, 2)." KB (".number_format($size)." bytes)";
$location = "http://".$server[$rand_server].'.'.$_SERVER['SERVER_NAME'].'/'.$root[$rand_root].$folder.'/'.$name.'.'.$type;
list($width, $height) = getimagesize($location);
$dimensions = utf8_decode($width."px × ".$height."px");
$date = date("Y-n-j H:i:s");
$image_base64 = base64_encode(file_get_contents($location));
$pin = sha1(md5($location));
$query_search_iuid = "SELECT IUID FROM FREE_USERS WHERE EMAIL = '".mysql_real_escape_string($_POST['email'])."'";
$result_query_search_iuid = mysql_query($query_search_iuid);
if(mysql_num_rows($result_query_search_iuid) == 1) {
$query_more_iuid = "SELECT * FROM FREE_USERS WHERE EMAIL = '".mysql_real_escape_string($_POST['email'])."'";
$resultquery_more_iuid = mysql_query($query_more_iuid);
$row = mysql_fetch_assoc($resultquery_more_iuid);
$query_insert_images = "INSERT INTO IMAGES VALUES ('".$row['IUID']."', '$id', '$name_img[0]', '".strtoupper($type)."', '$size_format', '$dimensions', '$date', '$location', '$image_base64', '$pin')";
$result_query_insert_images = mysql_query($query_insert_images);
$query_insert_tmp_images = "INSERT INTO TMP_FREE_IMAGES VALUES ('$id', '$date')";
$result_query_insert_tmp_images = mysql_query($query_insert_tmp_images);
} else {
$query_insert_images = "INSERT INTO IMAGES VALUES ('$IUID', '$id', '$name_img[0]', '".strtoupper($type)."', '$size_format', '$dimensions', '$date', '$location', '$image_base64', '$pin')";
$result_query_insert_images = mysql_query($query_insert_images);
$query_insert_tmp_images = "INSERT INTO TMP_FREE_IMAGES VALUES ('$id', '$date')";
$result_query_insert_tmp_images = mysql_query($query_insert_tmp_images);
}
require("src/create-thumb.php");
$query_save_thumbnails = "INSERT INTO THUMBNAILS VALUES ('$id', '$thumb_square_75', '$thumb_medium_640')";
$result_query_save_thumbnails = mysql_query($query_save_thumbnails);
require("src/send-mail.php");
$_SESSION['free_upload'] = TRUE;
$_SESSION['upload_id'] = $id;
$_SESSION['thumb_preview'] = $thumb_square_75;
}
}
?>
Saludos y gracias de antemano