FILE : script.php
<?php
include('JSON.php');
include('funcoes_red.php');
$result = array();

if (isset($_FILES['photoupload']) )
{	$file = $_FILES['photoupload']['tmp_name'];
	$error = false;
	$size = false;
	if (!is_uploaded_file($file) || ($_FILES['photoupload']['size'] > 2 * 1024 * 1024) )
	{
		$error = 'Fa&ccedil;a upload de arquivos menores que 2Mb!!! ';
	}
	elseif (!$error && !($size = @getimagesize($file) ) )
	{
		$error = 'Fa&ccedil;a o upload apenas de imagens, outros arquivos n&atilde;o s&atilde;o suportados.';
	}
	elseif (!$error && ($size[0] < 25) || ($size[1] < 25))
	{
		$error = 'Fa&ccedil;a o upload de uma imagem maior que 25px.';
	}
	else {

		/* move_uploaded_file($_FILES['photoupload']['tmp_name'], 'upload/'.$_FILES['photoupload']['name']);
		chmod('upload/'.$_FILES['photoupload']['name'], 0777); */

		$tmp_name 	= $_FILES['photoupload']['tmp_name'];
		$name_photo = $_FILES['photoupload']['name'];
		$aux_tipo_imagem = $size['mime'];
			//// Definicao de Diretorios / 
            $diretorio = "fotos/";
            $diretorio_g = "fotos/g/";
            $diretorio_p = "fotos/p/";
			$diretorio_n = "fotos/n/";
            ///// certifique que seu diret�rio tenha permissao para escrita (chmod 0777)
			if(!file_exists($diretorio)) {
                mkdir($diretorio);
            }
            if(!file_exists($diretorio_g)) {
                mkdir($diretorio_g);
            }
            if(!file_exists($diretorio_p)) {
                mkdir($diretorio_p);
            }
			if(!file_exists($diretorio_n)) {
                mkdir($diretorio_n);
            }
            
				// declarar as variaveis para as fotos
				// foto grande
					$larg_ft = 640 ;
					$altu_ft = 480;
				// foto minuatura
					$larg_tb = 120;
					$altu_tb = 90;					
				
            if ($aux_tipo_imagem == "image/jpeg") {				
                reduz_imagem_jpg($tmp_name, $larg_ft , $altu_ft , $diretorio_g.$name_photo);
                reduz_imagem_jpg($tmp_name, $larg_tb , $altu_tb , $diretorio_p.$name_photo);
            	move_uploaded_file($tmp_name , $diretorio_n.$name_photo);
			}         
            if ($aux_tipo_imagem == "image/gif") {
                reduz_imagem_gif($tmp_name, $larg_ft , $altu_ft , $diretorio_g.$name_photo);
                reduz_imagem_gif($tmp_name, $larg_tb , $altu_tb , $diretorio_p.$name_photo);
				move_uploaded_file($tmp_name , $diretorio_n.$name_photo);
            }
            if ($aux_tipo_imagem == "image/png") {
                reduz_imagem_png($tmp_name, $larg_ft , $altu_ft , $diretorio_g.$name_photo);
                reduz_imagem_png($tmp_name, $larg_tb , $altu_tb , $diretorio_p.$name_photo);
				move_uploaded_file($tmp_name , $diretorio_n.$name_photo);
            }
			// fim do redimensionamento e criacao das miniaturas ... 
	}
	$addr = gethostbyaddr($_SERVER['REMOTE_ADDR']);
 
	$log = fopen('script.log', 'a');
	fputs($log, ($error ? 'FAILED' : 'SUCCESS') . ' - ' . preg_replace('/^[^.]+/', '***', $addr) . ": {$_FILES['photoupload']['name']} - {$_FILES['photoupload']['size']} byte\n" );
	fclose($log);
 
	if ($error)
	{
		$result['result'] = 'failed';
		$result['error'] = $error;
	}
	else
	{
		$result['result'] = 'success';
		$result['size'] = "Upload Com Sucesso !!!!";
	}
 
}
else
{
	$result['result'] = 'error';
	$result['error'] = 'Arquivo ausente ou erro interno!';
}
 
if (!headers_sent() )
{
	header('Content-type: application/json');
}
 
echo json_encode($result);

?>