Hola que tal, les cuento, lo que pasa es que tengo un script para subir imágenes y lo estuve probando varias veces y subía las imágenes correctamente, aparentemente, hasta que subí una imagen 826 KB y lo que ocurrió es que se subió la imagen al servidor y se guardaron los datos de la imagen en la tabla THUMBNAILS pero no en la tabla IMAGES, estuve revisando el script pero no logro ver porque no se guardan los datos en esa tabla cuando las imágenes son un poco pesadas.
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;
}
}
?>
Espero que me puedan ayudar a corregir este error.
Saludos y gracias de antemano