Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/05/2013, 13:41
silo
 
Fecha de Ingreso: enero-2010
Mensajes: 76
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Problemas al generar un path

Gracias por responder.

Bueno, el código real es el siguiente (es un poco extenso)...

Código PHP:
Ver original
  1. <?php
  2. // Recojo datos del formulario.
  3.  
  4. $periodoelegido=$_POST['mes'];
  5. $ESelegido=$_POST['EmiReci'];
  6. $URLdestino="Facturas/".$ESelegido."/".$periodoelegido."/";
  7.  
  8. {
  9. echo"ladireccion es: ".$URLdestino; // Aquí se muestra correctamente
  10.  
  11. }
  12.  
  13. $accion_subir = 'enviar_archivos';
  14. $accion_eliminar = 'eliminar';
  15. $directorio_destino = $URLdestino;
  16. global $directorio_destino;
  17.  
  18. // Bloque subir archivos
  19. if ($_POST['accion'] == $accion_subir) {
  20.     $i=0;
  21.     $num = count($_FILES['archivos']['name']);
  22.     if ($num>1) {$tagMensaje='li'; $html .= '<ul>';} else {$tagMensaje='p';}
  23.     $mensaje = '1';
  24.     $char1 = array(' ','á','Á','é','É','í','Í','ó','Ó','ú','Ú','ü','Ü',',',"'",'ç','Ç');
  25.     $char2 = array('_','a','A','e','E','i','I','o','O','u','U','u','U','_','_','c','C');
  26.     while ($i<$num) {
  27.         $archivo_solo = str_replace($char1,$char2,basename($_FILES['archivos']['name'][$i]));
  28.         $archivo = $directorio_destino.$archivo_solo;
  29.        
  30.         if (move_uploaded_file($_FILES['archivos']['tmp_name'][$i], $archivo)) {
  31.             $html .= '<'.$tagMensaje.'><em>'.$archivo.'</em> se ha enviado correctamente</'.$tagMensaje.'>';
  32.         } else {
  33.             $html .= '<'.$tagMensaje.'><em>'.$archivo.'</em> no se ha podido enviar.</'.$tagMensaje.'>';
  34.             $mensaje = '2';
  35.         }
  36.         $i++;
  37.     }
  38.     if ($num>1) {$html .= '</ul>';}
  39.     if (empty($_POST['js'])) {header("Location: uploader.php?mensaje=".$mensaje."");} else {echo '<div id="iframe_mensaje">'.$mensaje.'</div>';}
  40. }
  41.  
  42. if ($_GET['accion'] == $accion_eliminar) {
  43.     eliminarArchivo();
  44.     header("Location: uploader.php?mensaje=3");
  45. }
  46.  
  47. if ($_GET['listar']=='si') {
  48.     echo listarArchivos();
  49. }
  50.  
  51. if ($_GET['eliminar']=='si') {
  52.     eliminarArchivo();
  53.     echo '<div id="iframe_mensaje">3</div>';
  54. }
  55.  
  56. function eliminarArchivo () {
  57.     global $directorio_destino;
  58.     $archivo_a_eliminar = $directorio_destino.$_GET['archivo'];
  59.     unlink($archivo_a_eliminar);
  60. }
  61.  
  62. function listarArchivos () {
  63.     global $directorio_destino;
  64.    
  65.     $dir = opendir($directorio_destino);
  66.    
  67.     $i=0;
  68.     while ($file = readdir($dir)) {
  69.         // quitamos lo que no sean archivos
  70.         $tamano = round((filesize(''.$directorio_destino.$file.'')/1024),1);
  71.         if ($file != '.' && $file != '..') {
  72.             $extension = explode('.',$file);
  73.             $extension = end($extension);
  74.             $htmlLista .= '
  75.             <table><tr><td align="left">
  76.             <li class="clear">
  77.                 <a href="'.$directorio_destino.$file.'" class="archivo archivo_'.$extension.'">'.$file.'</a>
  78.                 <span>('.$tamano.' KB)</span></td><td>
  79.                 <a href="uploader.php?confirmarEliminacion=si&amp;archivo='.$file.'" class="eliminar" rel="'.$file.'">Eliminar</a>
  80.             </li>';$htmlLista .="\n</td></tr></table>";
  81.             $i++;
  82.         }
  83.     }
  84.     if ($i>0) {$html = "<ul>\n".$htmlLista."</ul>"; } else {$html = '<p>No hay archivos</p>';}
  85.     closedir($dir);
  86.     return $html.'<p class="indentado"><a href="#formulario_archivos">Saltar a selección de archivos</a>.</p>';
  87. }
  88. /*---------------------------------------------------------------------------*/
  89. if (empty($_REQUEST['js'])) {
  90. ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  91. <html xmlns="http://www.w3.org/1999/xhtml">
  92. <head>
  93. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  94.     <title>Uploader</title>
  95.     <link rel="stylesheet" type="text/css" media="screen" href="ficheros/UP_CSS_estilos.css" />
  96.     <script type="text/javascript" src="ficheros/UP_JS_jquery-1.4.2.min.js"></script>
  97.     <script type="text/javascript" src="ficheros/UP_JS_comportamientos.js"></script>
  98. </head>
  99. <body>
  100. <div id="contenedor">
  101. <h1><?php echo"Facturas: ".$periodoelegido." ".$ESelegido; ?></h1>
  102. <table width="100%" border="0" cellspacing="0" cellpadding="5">
  103.   <tr>
  104.     <td bgcolor="#000066">&nbsp;<?php
  105. if (isset($_GET['confirmarEliminacion'])) {
  106. $archivo = $_GET['archivo'];
  107. include('mensaje.php');
  108. } else {
  109. ?>
  110.       <?php if (isset($_GET['mensaje'])) {
  111.     include('mensaje_resultado.php');
  112. } ?>
  113.       <p class="indentado" id="fin_cabecera"><a href="#lista_archivos">Saltar a listado de archivos</a>.</p></td>
  114.   </tr>
  115. </table>
  116. <div id="contenido">
  117.    
  118. <form action="uploader.php" method="post" enctype="multipart/form-data" id="formulario_archivos">
  119.         <fieldset>
  120.             <legend>Selecci&oacute;n de archivos</legend>
  121.             <div id="zona_upload">
  122.                 <p class="clear"><label for="arch_inicial"><span>Seleccionar archivo: </span><input type="file" name="archivos[]" id="arch_inicial" /></label></p>
  123.             </div>
  124.             <input type="hidden" name="accion" value="<?php echo $accion_subir; ?>" />
  125.         </fieldset>
  126.         <p class="botonera"><input type="submit" value="Subir Archivo(s)" id="boton_envio" /></p>
  127.     </form>
  128.     <h1>Listado de archivos</h1>
  129.     <div align="left" id="lista_archivos" >
  130. <?php
  131. echo listarArchivos();
  132. ?>
  133.  
  134. </div>
  135. </div>
  136. </div>
  137. </body>
  138. </html><?php }} ?>

El caso es que este código lo tengo instalado en otra carpetas y funciona perfectamente, la única diferencia que tiene con este es la variable del path.

Si lo escribo así me origina el fallo:

$URLdestino="Facturas/".$ESelegido."/".$periodoelegido."/";

Pero si lo pongo así funciona perfectamente:

$URLdestino="Facturas/Emitidas/Julio";

Esto es de locos y llevo una semana tratando de ver por que pasa esto y no doy con ello.

Última edición por GatorV; 10/05/2013 a las 20:20