Foros del Web » Programando para Internet » PHP »

Programa que suba ficheros al servidor indicandole la ruta?

Estas en el tema de Programa que suba ficheros al servidor indicandole la ruta? en el foro de PHP en Foros del Web. Hola a todos. Conocéis algun programa realizado en PHP de código abierto que permita subir archivos al servidor indicandole la ruta ? Mi intención es ...
  #1 (permalink)  
Antiguo 15/01/2008, 03:49
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 8 meses
Puntos: 0
Programa que suba ficheros al servidor indicandole la ruta?

Hola a todos. Conocéis algun programa realizado en PHP de código abierto que permita subir archivos al servidor indicandole la ruta ?

Mi intención es subir archivos ".pdf" pero a distintas carpetas situadas en mi servidor,es decir, lo suyo sería que el formulario de update me permitiera seleccionar el archivo a subir y abajo indicarle la ruta de donde lo quiero subir.

He visto varios programas ya hechos que te suben archivos al servidor, pero te los sube al directorio raíz. Lo suyo es poder indicarle donde subirlo.

Muchas gracias de verdad.
  #2 (permalink)  
Antiguo 15/01/2008, 06:33
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: Programa que suba ficheros al servidor indicandole la ruta?

Buenas,
la verdad que no eh mirado ni use nunca.. pero que hay, de seguro.. es mas, en las FAQS debe haber algo..
de todos modos, porque no te haces uno?
es algo simple, con un par de funciones lo tienes ;)

saludos!
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #3 (permalink)  
Antiguo 15/01/2008, 06:42
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Programa que suba ficheros al servidor indicandole la ruta?

Hola fenómeno. Estarias tu dispuesto a echarme una mano en ello? Yo te pongo el código de uno ya echo pero que solo lo guarda en un direcotrio raíz, y tu te encargas de crearme lo demás vale? jaja. Yo no se programar eso, si crees que puedes tardar pokito echame una mano primo jeje. Yo te lo compensaré ;)
  #4 (permalink)  
Antiguo 15/01/2008, 08:46
 
Fecha de Ingreso: diciembre-2007
Mensajes: 75
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Programa que suba ficheros al servidor indicandole la ruta?

yo hize hace tiempo uno... bueno aca te lo paso....
Código PHP:
<!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=iso-8859-1" />
<title>Subir archivos</title>
</head>
<body>
<h1>Subir Archivos...</h1>
<?
if(isset($_FILES['archivo']))
{
   
$dir='archivos';
   
$fexplode("/"$_SERVER['PHP_SELF']);
   
$fichero=$f[count($f)-1];
   
$url=$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
   
$url"http://".str_replace($fichero""$url);
   if(!
is_dir($dir))
   {
   @
mkdir($dir);
   }
   
$archivo=$_FILES['archivo'];
      if(
ereg("pdf"$archivo['type']))
      {
         
$b=pathinfo(strtolower($archivo['name']));
         
         do{
            
$name="archivo".rand().".".$b['extension'];
         }while(
file_exists($dir."/".$name);

         
$a=move_uploaded_file($archivo['tmp_name'], $dir."/".$name);
         if(
$a){
         
$exito='Se a  subido exitosamente el archivo';
         }
         else{
         
$error='No se ha logrado subir';
         }
      }
      else{
      
$error='La extencion del archivo es incorrecta';
      }
}
if(!isset(
$exito))
{
?>
<form action="#" method="post" enctype="multipart/form-data" name="form_subir" id="form_subir">
    <input type="file" name="archivo" />
    </label>
  </p>
  </p>
  <?
  
if(isset($error))
  {
  echo 
"<br>".$error;
  }
  
?>
  <br />
    <label>
    <input type="submit" name="Submit" value="Upload Image" />
    </label>
</form>
  <?
}
else
{
?>
<form id="form2" name="form2" method="post" action="">
  <label>Enlace directo
  <input name="textfield" type="text" value="<?=$url.$dir."/".$name?>" size="75" />
  </label>
</form>
 <?
}
?>
</body>
</html>
la carpeta esta definida por $dir

Última edición por onZero; 10/01/2009 a las 11:25
  #5 (permalink)  
Antiguo 15/01/2008, 10:07
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Programa que suba ficheros al servidor indicandole la ruta?

Hola onZero. Lo primero agradecerte tu ayuda. Ese sistema para subir archivos funciona muy bien, pero no me especifica donde quiero guardar el archivo,es decir, siempre me lo sube a la carpeta "archivos" por defecto. Me gustaría que pudiera yo elegir la ruta en donde subirlo.
Para que se entienda...yo hoy por ejemplo tengo que subir 5 archivos al servidor, pero cada archivo va a una carpeta distinta del servidor, es decir, el archivo1 me gustaría guardarlo en la carpeta EMPRESA1, el archivo2 en la carpeta EMPRESA2, el archivo3 en la carpeta de la EMPRESA3...y así sucesivamente con los demás.

De ahí me sale el problema de que al subir me lo sube siempre a la misma carpeta...y claro... no voy a estar todos los dias cambiando la ruta en el código fuente jeje.

Espero me echeis una mano, ya que no controlo en absoluto este tema.
Muchas gracias.
  #6 (permalink)  
Antiguo 15/01/2008, 15:30
 
Fecha de Ingreso: diciembre-2007
Mensajes: 75
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Programa que suba ficheros al servidor indicandole la ruta?

bueno pues esto ya tendrias que haverlo echo tu.. bueno te explico...
podrias hacerlo con un if y else o swith
Código PHP:
$a "archivo1";
switch(
$a){
case 
"archivo1":
$dir=empresa1;
break;
case 
"archivo2":
$dir=empresa2;
break;

no te preocupes si la carpeta esta creada... se crea automaticamente.
y a variable $a la puedes igualar a $_FILES['archivo']['name'] o a un $_POST['xxx'] y que sea un campo al subir el archivo... esto es depende de ti.... bueno creo que esto lo puedes haber hecho con un minimo conocimiento de php...
tambien podrias defrente igualas $dir a una variable post :D

Mi pregunta es que tanto manejas PHP

Última edición por onZero; 15/01/2008 a las 15:37
  #7 (permalink)  
Antiguo 16/01/2008, 03:13
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Programa que suba ficheros al servidor indicandole la ruta?

Hola figura.
Lo de utilizar el switch tampoco me serviría, ya que el nombre del archivo siempre será distinto (si siempre se llamara archivo1.pdf pues si que se podría).Mis conocimientos de php son muy limitados, pero no creo que para los gurú del php les suponga un gran reto lo que necesito. Me sabe mal no poder estar codo a codo con vosotros y tener que pedir ayuda de esta manera (a lo rastrero). Ese subidor de archivos que necesito con la opción de elegir la ruta de destino donde almacenar el fichero nos serviría en la gestoría de muchísima utilidad.
Gracias por tu ayuda
  #8 (permalink)  
Antiguo 16/01/2008, 03:38
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Re: Programa que suba ficheros al servidor indicandole la ruta?

En el formulario pones un campo destino para cada campo fichero, y en el bucle que copia los ficheros sustituyes $dir por el valor del campo destino (o por un valor calculado a partir del valor del campo destino).
  #9 (permalink)  
Antiguo 16/01/2008, 04:39
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Programa que suba ficheros al servidor indicandole la ruta?

Hola a todos. He creado este script a base de leerme cosas. Pero me salta mi propio error de "Error al intentar subir el archivo". A ver si podeis echarme una mano primos.

subir.html
Código PHP:
<form method="POST" enctype="multipart/form-data" action="subir.php">
<
p align="center">
<
input type="file" name="archivo" size="20">
<
input type="submit" value="Enviar" name="send">
<
input type="reset" value="Borrar" name="erase"></p>
<
p align="center">
<
select name="destino">
<
option>[Seleccione el destino]</option>
<
option value="CAMIONES/a/">CAMIONES/a/</option>
<
option value="CAMIONES/b/">CAMIONES/b/</option>
<
option value="CAMIONES/c/">CAMIONES/c/</option>
</
select></p>
</
p>
</
form>
<
tr
subir.php
Código PHP:
<?php
$directorio 
$_POST['destino']; //directorio donde va a ir el archivo
if (move_uploaded_file($_FILES['archivo_usuario']['tmp_name'], $directorio $_FILES['archivo_usuario']['name']))
{
echo 
"El archivo fue subido con éxito.";

else
{
echo 
"Error al intentar subir el archivo.";
}
?>
Como veis puedo elegir la supuesta ruta en donde subir el fichero, pero a la hora de subirlo me salta mi propio error "Error al intentar subir el archivo". Donde esta el fallo?
Muchas gracias de corazon.
  #10 (permalink)  
Antiguo 16/01/2008, 05:13
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 6 meses
Puntos: 25
Re: Programa que suba ficheros al servidor indicandole la ruta?

a tu problema puedes crear el form que esta arriba pero agregarle la opción de el arcvhivo con un input form ejemplo

imagen: la imagen
ruta: archivos/
carpeta : [fotos_2008] esta ya lo escribirías o tendrías un SELECT MENU para escoger .... saludos espero que te haya guiado un poco mas..
  #11 (permalink)  
Antiguo 16/01/2008, 12:31
 
Fecha de Ingreso: diciembre-2007
Mensajes: 75
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Programa que suba ficheros al servidor indicandole la ruta?

bueno ya entendi... como querias definir la carpeta.. bueno actualizndo codigo

Código PHP:
<!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=iso-8859-1" />
<title>Subir archivos</title>
</head>
<body>
<h1>Subir Archivos...</h1>
<?
if(isset($_FILES['archivo']))
{
   
$dir=$_POST['dir'];
   
$fexplode("/"$_SERVER['PHP_SELF']);
   
$fichero=$f[count($f)-1];
   
$url=$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
   
$url"http://".str_replace($fichero""$url);
   if(!
is_dir($dir))
   {
   @
mkdir($dir);
   }
   
$archivo=$_FILES['archivo'];
      if(
ereg("pdf"$archivo['type'])){

         
$b=pathinfo(strtolower($archivo['name']));

         do{
           
$name="archivo".rand().".".$b['extension'];
         }while(
file_exists($dir."/".$name);
         
$a=move_uploaded_file($archivo['tmp_name'], $dir."/".$name);
         if(
$a){
           
$exito='Se a  subido exitosamente el archivo';
         }
         else{
           
$error='No se ha logrado subir';
         }
      }
      else{
        
$error='La extencion del archivo es incorrecta';
      }
}
if(!isset(
$exito))
{
?>
<form action="#" method="post" enctype="multipart/form-data" name="form_subir" id="form_subir">
    <input type="file" name="archivo" />
    Carpeta donde deseas gravarlo: 
    <select name="dir">
      <option value="opcion1">opcion1</option>
      <option value="opcion2">opcion2</option>
      <option value="opcion4">opcion3</option>
        </select>
  </label>
  </p>
  </p>
  <?
  
if(isset($error))
  {
  echo 
"<br>".$error;
  }
  
?>
  <br />
    <label>
    <input type="submit" name="Submit" value="Upload Image" />
    </label>
</form>
  <?
}
else
{
?>
<form id="form2" name="form2" method="post" action="">
  <label>Enlace directo
  <input name="textfield" type="text" value="<?=$url.$dir."/".$name?>" size="75" />
  </label>
</form>
 <?
}
?>
</body>
</html>
En el codigo que hiziste deberias limitar la extencion del archivo... y tambien cambiarle de nombre al archivo... ya que si subes el archivo con el mismo nombre remplaza al anterior.

Última edición por onZero; 10/01/2009 a las 11:29
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:40.