Si, el codigo esta bien escrito, el tema es que me parece que en este caso, no tenes que hacerle Chmod ( que es otorgar permisos a directorios o archivos ) al script, es decir, al archivo php que contiene el codigo para el upload, sino que tenes que hacer chmod al directorio en donde vas a subir los archivos rar...
¿ me explico ?
si tu web es hxxp://tuweb.com y queres subir los archivos a hxxp://tuweb.com/upload/ tenes que darle chmod 777 a la carpeta o directorio upload.
Fijate este pequeño script:
Código PHP:
<?php
$dir="upload/";
$perm = @chmod("$dir", 0777) ;
if($perm){
echo"permiso autorizado";
}
else{
echo"permiso denegado";
}
?>
simplemente cambia en la variable $dir="upload"; el upload por el nombre de tu directorio. Si el chmod fue llevado a cabo sin problemas te dira "permiso autorizado" si no, dira "permiso denegado"...
simplemente subelo a tu servidor y ejecutalo en el navegador...