Hola.
Estoy teniendo problemas al intentar subir archivos mediante php a un servidor remoto. Para aclarar, tengo la siguiente estructura:
raiz
|
|----dir_form--- formulario.php
|
|---imagenes---subdirectorio
Lo que intento hacer es subir un archivo a /raiz/imagenes/subdirectorio con el script en formulario.php
Les dejo el código:
Código PHP:
<?php
$status = "";
if ($_POST["action"] == "upload") {
// obtenemos los datos del archivo
$tamano = $_FILES["archivo"]['size'];
$tipo = $_FILES["archivo"]['type'];
$archivo = $_FILES["archivo"]['name'];
$prefijo = substr(md5(uniqid(rand())),0,6);
if ($archivo != "") {
// guardamos el archivo a la carpeta files
$destino = "../imagenes/subdirectorio/".$prefijo."_".$archivo;
if (copy($_FILES['archivo']['tmp_name'],$destino)) {
$status = "Archivo subido: <b>".$archivo."</b>";
} else {
$status = "Error al subir el archivo";
}
} else {
$status = "Error al subir archivo";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php echo $status ?>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input name="archivo" type="file" size="35" />
<input name="enviar" type="submit" value="Upload File" />
<input name="action" type="hidden" value="upload" />
</form>
</body>
</html>
Tengo los permisos en 777, tanto para imagenes como para subdirectorio. Cuando cambio:
Código PHP:
$destino = "../imagenes/subdirectorio/".$prefijo."_".$archivo;
por:
Código PHP:
$destino = "../imagenes/".$prefijo."_".$archivo;
Sube el archivo sin problemas al directorio imagenes.
Cualquier ayuda se agradece!