Ok hermano, no tengo la certeza, pero estoy casi seguro que es que no esta leyendo la imagen en el directorio correcto, por ello te dice: failed to open stream: No such file or directory in...
Y por ende la funcion getimagensize te genere una advertencia, ya que no consigue el archivo. Debes de colocar el nombre de la carpeta donde se guadan, y luego el nombre de la imagen; por ejemplo, si fuera mi sitio web
http://www.enmaracay.net, el script estuviera en la raíz, y la imágenes se guardaran en
www.enmaracay.net/imagenes/, entonces en la función deberías de pasar la url local, pero completa, es decir,
Código PHP:
<?php
$nombre_archivo=$_FILES['imagen']['name'];
$direccion_foto = 'imagenes/'.$nombre_archivo;
$tam=getimagesize($direccion_foto);
if($tam[0] > 200 OR $tam[1] > 200) {
cambiartam($direccion_foto, $directorio, 200, 200);
}
/*Aca agrega esto para que hagas la prueba y compruebes si tienes la ruta de la imagen correcta*/
echo '<img src="'.$direccion_foto.'">';
exit();
?>
Prueba lo que te digo y me avisas. Saludos