Foros del Web » Programando para Internet » PHP »

Ficheros y directorios

Estas en el tema de Ficheros y directorios en el foro de PHP en Foros del Web. Buenos dias Tengo un formulario en php y trabajo en un entorno de windows. Una de las opciones del formulario es poder subir ficheros. Yo ...
  #1 (permalink)  
Antiguo 10/03/2008, 05:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Ficheros y directorios

Buenos dias

Tengo un formulario en php y trabajo en un entorno de windows. Una de las opciones del formulario es poder subir ficheros. Yo quiero que se puedan subir ficheros a una unidad de red que hay en mi empresa, para que despues todo el mundo la pueda descargar. Con el "move_uploaded_file" permite subir ficheros sin problema pero en local a una carpeta en C. En esta unidad de red que tengo creada yo puedo crear carpetas, por lo que entiendo que tengo permisos de escritura. Pero cuando hago el "move_uploaded_file" me dice:

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access \\i-csaezd\prueba-compartir\mj.doc in C:\wamp\www\mambo\InsertarSolucion4.php on line 314
Error al copiar archivo.

He encontrado en algunos foros que con ponga chmod 777 pero también me dice Unable to access.

Xq no me deja subir ficheros a esa unidad de red? Alguna solucion por favor que no sea un servidor ftp.



Muchas gracias y un saludo
  #2 (permalink)  
Antiguo 10/03/2008, 06:08
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 11 años, 9 meses
Puntos: 52
Re: Ficheros y directorios

si tienes permisos de escritura deberia dejarte subir el archivo,
que tamaño tiene el archivo?
a lo mejor es mayor el tamaño del archivo que lo que puedes subir

mira en el php.ini como tienes este parametro:

upload_max_filesize, es el parametro que determina el tamaño max para subir archivos,
y comprueba que este bien la ruta,
y si enseñas el codigo que usas mejor, para ver esa linea de error
  #3 (permalink)  
Antiguo 10/03/2008, 06:13
 
Fecha de Ingreso: marzo-2008
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Re: Ficheros y directorios

En lo que respecta al php.ini los valores que tengo son estos:

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "c:/wamp/tmp"

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

y el fichero que yo quería subir era de 23KB.

El código es:

$temporal1 = $_FILES['fichero1']['tmp_name'];
if (is_uploaded_file($temporal1)){
$nombrefinal1 = $directorio.$Fichero1;
echo $nombrefinal1;
print "<br> \n";
if (move_uploaded_file ($_FILES['fichero1']['tmp_name'],$nombrefinal1)){

me da error en el ultimo if.
Me muestra esto:

\\i-csaezd\prueba-compartir\Anexoproyectofindecarreraenempresa.doc

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access \\i-csaezd\prueba-compartir\Anexoproyectofindecarreraenempresa.doc in C:\wamp\www\mambo\InsertarSolucion4.php on line 314

Muchas gracias
  #4 (permalink)  
Antiguo 10/03/2008, 06:25
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 11 años, 9 meses
Puntos: 52
Re: Ficheros y directorios

mira este es el codigo que yo uso pero es para subir al server,
a lo mejor te fallan las rutas, prueba rutas absolutas y relativas.


Código PHP:

if (isset($_POST['submit'])) {  
    if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) {
    
    
     
// me verifica haya sido cargado el archivo 
        
$ruta_destino "../cevit/archivos/";
        if(
move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta_destino $_FILES['fichero']['name'])) { // se coloca en su lugar final 
                    
echo "<b>Upload exitoso!. Datos:</b><br>"
            echo 
"Nombre: <i><a href=\"".$ruta_destino $_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>"
            echo 
"Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>"
                    echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>"
                        echo 
"<br><hr><br>"
mi server esta basado en windows,
tambien usa este tipo de rutas

c:/wamp/tmp"

pero para localizar despues las carpetas uso las rutas asi:

$ruta_destino = "../descarga/archivos/"; o asi

$ruta_destino = "/descarga/archivos/";
  #5 (permalink)  
Antiguo 10/03/2008, 08:06
 
Fecha de Ingreso: marzo-2008
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Re: Ficheros y directorios

Antes de nada muchas gracias,

he usado tu codigo y sigo igual , pero por partes

las rutas del tipo c:/wamp/tmp no las puedo usar xq si las subo ahí luego de ahí nadie lo puede desargar . Tiene que subirse siempre a la unidad de red.

si pongo tu mismo código pero cambio la ruta de destino y pruebo varias combinaciones de barras tipo:

$ruta_destino = "aotcoprdcn00004/FTES$/Area de Orange Bussines Services/Ingenieria de Cliente/_Privada/DP/intranet//";

me da el error:
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access aotcoprdcn00004/FTES$/Area de Orange Bussines Services/Ingenieria de Cliente/_Privada/DP/intranet//mj.doc in C:\wamp\www\mambo\InsertarSolucion4.php on line 311

y la línea 311 es:

if(move_uploaded_file($_FILES['fichero1']['tmp_name'], $ruta_destino . $_FILES["fichero1"]["name"]))

alguna idea?

Gracias
  #6 (permalink)  
Antiguo 09/01/2009, 17:00
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 140
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Ficheros y directorios

Hola
tengo un problema con los ficheros que subo.
Se suben correctamente, pero cuando subo otro, el anterior se borra, o se quedan los dos en el servidor, y cuando subo un tercero, se borran los dos anteriores...
¿Cómo hago para que se mantengan todos los archivos subidos?

Utilizo estas dos formas, y con las dos me ocurreo lo mismo:

forma 1:
Código PHP:
    $tam     $_FILES["archivo"]['size'];
    
$tipus   $_FILES["archivo"]['type'];
    
$archivo $_FILES["archivo"]['name'];
        
    
    
$prefijo substr(md5(uniqid(rand())),0,6); // le damos un nombre aleatorio para evitar nombres repetidos

    
if(is_uploaded_file($_FILES['archivo']['tmp_name'])) { 
     
   
     
// me verifica haya sido cargado el archivo  
        
$destino =  "llibres/".$prefijo."_".$archivo;
        if(
move_uploaded_file($_FILES['archivo']['tmp_name'], $destino)) { // se coloca en su lugar final  
                    
echo "<b>Upload exitoso!. Datos:</b><br>";  
            echo 
"Nombre: <i><a href=\"".$destino $_FILES['archivo']['name']."\">".$_FILES['archivo']['name']."</a></i><br>";  
            echo 
"Tipo MIME: <i>".$_FILES['archivo']['type']."</i><br>";  
                    echo 
"Peso: <i>".$_FILES['archivo']['size']." bytes</i><br>";  
                        echo 
"<br><hr><br>";  

    }
    else 
//si da error el copiar el archivo al directorio, asignamos una por defecto
        
{            
            
$error $error.'<li>Error al subir el archivo<b> '.$archivo.'</b></li><br>';
            
$errores 1;
        }
    } else { 
//si esta vaco el campo, asignamos la iagaen por defecto
            
$error $error.'<li>No has adjuntado el archivo.</li><br>';
            
$errores 1;
    } 
forma 2:
Código PHP:
    // guardamos el archivo a la carpeta files
    
$tam     $_FILES["archivo"]['size'];
    
$tipus   $_FILES["archivo"]['type'];
    
$archivo $_FILES["archivo"]['name'];
        
    
    
$prefijo substr(md5(uniqid(rand())),0,6); // le damos un nombre aleatorio para evitar nombres repetidos

    
if ($archivo != "") {
    
// guardamos el archivo a la carpeta files
        
$destino =  "llibres/".$prefijo."_".$archivo;

        if (
copy($_FILES['archivo']['tmp_name'],$destino))
        {
            
//si se copia la directorio ok! le damos permisos para que se pueda visualizar
            
chmod($destino0755 );
        } 
    
    else 
//si da error el copiar el archivo al directorio, asignamos una por defecto
        
{            
            
$error $error.'<li>Error al subir el archivo<b> '.$archivo.'</b></li><br>';
            
$errores 1;
        }
    } else { 
//si esta vaco el campo, asignamos la iagaen por defecto
            
$error $error.'<li>No has adjuntado el archivo.</li><br>';
            
$errores 1;
    } 
Si alguien puede ayudarme...muchas gracias!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:09.