Veamos, el código que nos interesa es el siguiente:
Código PHP:
<?php
// Recojo datos del formulario que envío de otra página donde 'mes' es igual
// a "Julio" y 'EmiReci' tiene el valor de 'Emitidas'.
// Ahora paso las variables vía POST...
$periodoelegido=$_POST['mes'];
$ESelegido=$_POST['EmiReci'];
// Ahora creo el path a partir de la carpeta 'Facturas'
$directorio_destino="Facturas/".$ESelegido."/".$periodoelegido."/";
{
echo"La Direccion es: ".$directorio_destino;
// Aquí se muestra correctamente
// La Dirección es: Facturas/Emitidas/Julio/
El Código para subir los archivos es el siguiente:
Código PHP:
// Bloque subir archivos
if ($_POST['accion'] == $accion_subir) {
$i=0;
$num = count($_FILES['archivos']['name']);
if ($num>1) {$tagMensaje='li'; $html .= '<ul>';} else {$tagMensaje='p';}
$mensaje = '1';
$char1 = array(' ','á','Á','é','É','í','Í','ó','Ó','ú','Ú','ü','Ü',',',"'",'ç','Ç');
$char2 = array('_','a','A','e','E','i','I','o','O','u','U','u','U','_','_','c','C');
while ($i<$num) {
$archivo_solo = str_replace($char1,$char2,basename($_FILES['archivos']['name'][$i]));
$archivo = $directorio_destino.$archivo_solo;
if (move_uploaded_file($_FILES['archivos']['tmp_name'][$i], $archivo)) {
$html .= '<'.$tagMensaje.'><em>'.$archivo.'</em> se ha enviado correctamente</'.$tagMensaje.'>';
} else {
$html .= '<'.$tagMensaje.'><em>'.$archivo.'</em> no se ha podido enviar.</'.$tagMensaje.'>';
$mensaje = '2';
}
$i++;
}
if ($num>1) {$html .= '</ul>';}
if (empty($_POST['js'])) {header("Location: uploader.php?mensaje=".$mensaje."");} else {echo '<div id="iframe_mensaje">'.$mensaje.'</div>';}
}
Y el que los lee es el siguiente:
Código PHP:
function listarArchivos () {
global $directorio_destino;
$dir = opendir($directorio_destino);
$i=0;
while ($file = readdir($dir)) {
// quitamos lo que no sean archivos
$tamano = round((filesize(''.$directorio_destino.$file.'')/1024),1);
if ($file != '.' && $file != '..') {
$extension = explode('.',$file);
$extension = end($extension);
$htmlLista .= '
<table><tr><td align="left">
<li class="clear">
<a href="'.$directorio_destino.$file.'" class="archivo archivo_'.$extension.'">'.$file.'</a>
<span>('.$tamano.' KB)</span></td><td>
<a href="uploader.php?confirmarEliminacion=si&archivo='.$file.'" class="eliminar" rel="'.$file.'">Eliminar</a>
</li>';$htmlLista .="\n</td></tr></table>";
$i++;
}
}
if ($i>0) {$html = "<ul>\n".$htmlLista."</ul>"; } else {$html = '<p>No hay archivos</p>';}
closedir($dir);
return $html.'<p class="indentado"><a href="#formulario_archivos">Saltar a selección de archivos</a>.</p>';
}
En la cabecera del documento si configuro el path de esta manera:
$directorio_destino="Facturas/".$ESelegido."/".$periodoelegido."/";
se queda en la carpeta
'Facturas' y no va más allá.
Si la configuro de esta forma:
$directorio_destino="Facturas/Emitidas/Julio/";
funciona perfectamente.
Espero haber sido más claro esta vez y perdona la confusión.