Fijate si te sirve esto , solo tenes que pasarle desde tu formulario que toma el archivo la variable de la siguiente manera:
$archivo = $_FILES['archivo'];
acordate de iniciar tu carpeta $carpeta_archivos = "fotos";
Código PHP:
# ********************************************************
# Si la carpeta no existe la creamos y le aplicamos los permisos.
if(!file_exists($carpeta_archivos))
{
mkdir($carpeta_archivos);
@chmod($carpeta_archivos, 0777);
}
# Verificamos que este setiado el archivo.
if($archivo)
{
#funcion que reduce la imagen
function resize_jpg($img,$w,$h)
{
$thumb = ImageCreateTrueColor ($w, $h);
$image = ImageCreateFromJpeg($img);
$imagedata = getimagesize($img);
imagecopyresized ($thumb, $image, 0, 0, 0, 0, $w, $h, $imagedata[0], $imagedata[1]);
imagejpeg($thumb, $img);
}
#funcion que compara si es mayor a una determinada tamaño
function compara($img)
{
$tamaño = 300;
$imagedata = getimagesize($img);
$wyh = array (0=>600,1=>700);
if($imagedata[0]>$tamaño){
$h_new = $imagedata[1]*$tamaño/$imagedata[0];
resize_jpg($img,$tamaño,$h_new);
$wyh[0] = $tamaño;
$wyh[1] = $h_new;
}
else{
$wyh[0] = $imagedata[0];
$wyh[1] = $imagedata[1];
}
return $wyh;
}
# Verificamos que su tamaño sea mejor que los bytes que as puesto en la configuración.
if((1000 * $bytes_max) > $_FILES['archivo']['size'])
{
# Seteamos las variables para mejor facilidad
$tmp = $archivo['tmp_name'];
$name = $archivo['name'];
$ahora = $carpeta_archivos.'/'.$name;
#cargamos la foto
# Movemos el archivo a la carpeta y pasamos archivo
if(move_uploaded_file($tmp, $ahora))
{
@chmod("../fotos/$name", 0777);
$wyh = array();
$wyh = compara("../fotos/$name");
$ancho = $wyh[0];
$alto = $wyh[1];
}
else
{
echo 'no se pudo cargar la imagen';
}
}
} //cierra if file archivo