Po galera...isso é problema de permissões.Leiam as mensagens do PHP com mais atenção. Seu código um pouco modificado: Linux (poderia ser feito tambem com as funcoes da posix...): <?php
$dir = $_GET["dir"].'/';
echo $dir;
if (isset($arquivo)) {
if (is_uploaded_file($arquivo)) {
$nome = rand(00,9999);
if(is_dir($dir)) {
if(!is_writeable($dir)) {
if(!chmod($dir, 0777)) {
$superUsuario = 'root'; /*mudar para o super usuario*/
$pwSuperUsuario = 'exemplo'; /*mudar para a senha do super usuario*/
$chmoded = (boolean)shell_exec('echo "'.$pwSuperUsuario.'" | sudo -u '.$superUsuario.' -S chmod 777 '.$dir.' && echo 1 || echo 0');
if(!$chmoded) die('Diretoria restrita.');
}
}
} else {
echo 'O argumento \'', $dir, '\' não é uma diretoria.';
exit(1);
}
move_uploaded_file($arquivo,$dir.$nome.$arquivo_name);
echo 'Enviado<br>';
} else {
echo 'erro';
}
}
?>
Cross-Platform ('menos eficiente'):
<?php
$dir = $_GET["dir"].'/';
echo $dir;
if (isset($arquivo)) {
if (is_uploaded_file($arquivo)) {
$nome = rand(00,9999);
if(is_dir($dir)) {
if(!is_writeable($dir)) {
if(!chmod($dir, 0777)) {
die('Diretoria restrita.');
}
}
} else {
echo 'O argumento \'', $dir, '\' não é uma diretoria.';
exit(1);
}
move_uploaded_file($arquivo,$dir.$nome.$arquivo_name);
echo 'Enviado<br>';
} else {
echo 'erro';
}
}
?>