Hola a todos, bueno, tengo el siguiente problema, el script de php que pueden ver más abajo, debe realizar las siguientes funciones:
 
1º Guardar una imagen seleccionada en una carpeta llamada upload_header. Funciona.
 
2º Guardar el nombre en base de datos con su respectiva extensión (jpg, png, gif, etc...). Funciona.
 
 Pero, siempre las guarda con el mismo nombre y aparte las reemplaza en la carpeta de destino, (lógico, al tener siempre el mismo nombre). Es decir, ahora subo una foto y la guarda en la carpeta y en la BD con el nombre header_1225455.jpg y luego subo otra diferente y la guarda con el mismo nombre (header_1225455.jpg).
 
PD: Hay otro problema, en la base de datos se guarda correctamente, nombre + extensión pero en la carpeta se guarda como (nombre + extensión) + extensión.
 
Ej. header_1225455, este es el nombre como debería aparecer, sin la extensión (ej. .jpg). Pero aparece así: header_1225455.jpg, aclaro, en este ultimo nombre no esta reconociendo .jpg como extensión porque hace parte del nombre. En realidad lo que reconocería al llamar el archivo sería: header_1225455.jpg.jpg
 
Agradezco vuestra ayuda.
 
Este es el código PHP:
 
<?php
session_start();
error_reporting (E_ALL ^ E_NOTICE);
 
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
 
if($_SESSION['logged'] == 'yes')
{
 
 
if (!isset($_SESSION['random_key']) || strlen($_SESSION['random_key'])==0){
    $_SESSION['random_key'] = strtotime(date('Y-m-d H:i:s'));
    $_SESSION['user_file_ext']= "";
}
 
$upload_dir = "upload_header";
$upload_path = $upload_dir."/";
$large_image_prefix = "header_";
$large_image_name = $large_image_prefix.$_SESSION['random_key'];
$max_file = "2";
$max_width = "1280";
$max_height= "720";
$id_user = $_SESSION['user'];
 
$allowed_image_types = array('image/pjpeg'=>"jpg",'image/jpeg'=>"jpg",'image/jpg'=>"jpg",'image/png'=>"png",'image/x-png'=>"png",'image/gif'=>"gif");
$allowed_image_ext = array_unique($allowed_image_types);
$image_ext = "";
foreach ($allowed_image_ext as $mime_type => $ext) {
    $image_ext.= strtoupper($ext)." ";
}
 
function resizeHeader($image,$width,$height,$scale) {
	list($imagewidth, $imageheight, $imageType) = getimagesize($image);
	$imageType = image_type_to_mime_type($imageType);
	$newImageWidth = ceil($width * $scale);
	$newImageHeight = ceil($height * $scale);
	$newImage = imagecreatetruecolor($newImageWidth,$newImageHeigh  t);
	switch($imageType) {
		case "image/gif":
			$source=imagecreatefromgif($image); 
			break;
	    case "image/pjpeg":
		case "image/jpeg":
		case "image/jpg":
			$source=imagecreatefromjpeg($image); 
			break;
	    case "image/png":
		case "image/x-png":
			$source=imagecreatefrompng($image); 
			break;
  	}
	imagecopyresampled($newImage,$source,0,0,0,0,$newI  mageWidth,$newImageHeight,$width,$height);
 
	switch($imageType) {
		case "image/gif":
	  		imagegif($newImage,$image); 
			break;
      	case "image/pjpeg":
		case "image/jpeg":
		case "image/jpg":
	  		imagejpeg($newImage,$image,90); 
			break;
		case "image/png":
		case "image/x-png":
			imagepng($newImage,$image);  
			break;
    }
 
	chmod($image, 0777);
	return $image;
}
 
function getHeight($image) {
	$size = getimagesize($image);
	$height = $size[1];
	return $height;
}
 
function getWidth($image) {
	$size = getimagesize($image);
	$width = $size[0];
	return $width;
}
 
$large_image_location = $upload_path.$large_image_name.$_SESSION['user_file_ext'];
 
if(!is_dir($upload_dir)){
	mkdir($upload_dir, 0777);
	chmod($upload_dir, 0777);
}
 
if (isset($large_image_name)) { 
 
	$userfile_name = $_FILES['image']['name'];
	$userfile_tmp = $_FILES['image']['tmp_name'];
	$userfile_size = $_FILES['image']['size'];
	$userfile_type = $_FILES['image']['type'];
	$filename = basename($_FILES['image']['name']);
	$file_ext = strtolower(substr($filename, strrpos($filename, '.') + 1));
 
 
	if((!empty($_FILES["image"])) && ($_FILES['image']['error'] == 0)) {
 
		foreach ($allowed_image_types as $mime_type => $ext) {
 
			if($file_ext==$ext && $userfile_type==$mime_type){
				$error = "";
				break;
			}else{
				$error = "Only <strong>".$image_ext."</strong> images accepted for upload<br />";
			}
		}
 
		if ($userfile_size > ($max_file*1048576)) {
			$error.= "Images must be under ".$max_file."MB in size";
		}
 
	}else{
		$error= "Select an image for upload";
	}
 
	if (strlen($error)==0){
 
		if (isset($_FILES['image']['name'])){
 
			$large_image_location = $large_image_location.".".$file_ext;
 
			$_SESSION['user_file_ext']=".".$file_ext;
 
			move_uploaded_file($userfile_tmp, $large_image_location);
			chmod($large_image_location, 0777);
 
 
                        $reqlen = strlen ($large_image_name);
			if ($reqlen > 0) {
			require("connect_db.php");
			$meter = @mysql_query('INSERT INTO headers (name_header, id_user) values ("'.mysql_real_escape_string($large_image_name."."  .$file_ext).'", "'.mysql_real_escape_string($id_user).'")');
			$meter2 = mysql_query("UPDATE users SET header='".addslashes("$large_image_name".".$file_e  xt")."' WHERE users.user='$id_user'");
			}
 
			$width = getWidth($large_image_location);
			$height = getHeight($large_image_location);
 
			if ($height > $max_height){
				$scale = $max_height/$height;
				$uploaded = resizeHeader($large_image_location,$width,$height,  $scale);
			}else{
				$scale = 1;
				$uploaded = resizeHeader($large_image_location,$width,$height,  $scale);
			}
 
		}
 
		header("location:".$_SERVER["PHP_SELF"]);
		exit();
	}
}
}
?> 
   
 

 Script de PHP guarda pero reemplaza imagen en destino
 Script de PHP guarda pero reemplaza imagen en destino 
 Respuesta: Script de PHP guarda pero reemplaza imagen en destino
 Respuesta: Script de PHP guarda pero reemplaza imagen en destino 



