Foros del Web » Programando para Internet » PHP »

Envio de ficheros al server

Estas en el tema de Envio de ficheros al server en el foro de PHP en Foros del Web. bueno nose que pasa con el archivo deberia de cargar con este code, o estoy haciendo algo mal, a ver quien me puede corregir, saludos ...
  #1 (permalink)  
Antiguo 24/06/2009, 14:54
 
Fecha de Ingreso: noviembre-2008
Mensajes: 49
Antigüedad: 15 años, 5 meses
Puntos: 0
Información Envio de ficheros al server

bueno nose que pasa con el archivo deberia de cargar con este code, o estoy haciendo algo mal, a ver quien me puede corregir, saludos

Formulario Html
Código HTML:
<form enctype="multipart/form-data" action="upload.php">
<input type="hidden" name="max_file_size" value="5000">
<input type="file" name="userfile"  />
<br />
<br />
<input type="submit" value="Upload" />
</form> 
Código PHP:
<?php
if (is_uploaded_file($HTTP_POST_FILES['userfile']))
{
copy ($HTTP_POST_FILES['userfile'],"c:/appserv");
}
else
{
echo 
"<h1>";
echo (
"no se puedo subir el archivo ".$HTTP_POST_FILES['userfile']);
}
?>
  #2 (permalink)  
Antiguo 24/06/2009, 15:09
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Respuesta: Envio de ficheros al server

mira hace tiempo cree uno gracias a losusaurios de este foro asi que aka e dejoos codigos puedes subir lo q sea


upload.php
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>
<script language="JavaScript">
function Abrir_ventana (pagina) {
var opciones="toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes,";
window.open(pagina,"",opciones);
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>File Manager</title>
<style type="text/css">
<!--
.style1 {
    font-size: 18px;
    font-weight: bold;
}
a:link {
    color: #000000;
}
a:visited {
    color: #000000;
}
a:hover {
    color: #FF0000;
}
a:active {
    color: #000000;
}
-->
</style>
</head>

<body>
<form enctype="multipart/form-data" action="<?=$PHP_SELF?>subir.php" method="POST">
  <p>
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000000" />
  selecciona los archivos que quieres subir</p>
  <p>upload 1</p>
  <p>
    <input name="uploadedfile" type="file" />
  </p>
  <p>upload 2</p>
    <p>
      <input name="uploadedfile2" type="file" />
    </p>
    <p>
  </p>
      
      <input type="submit" value="Subir Mi Archivo" />
    </p>
</form>

</html>
Actualemte Estos son los archivos existentes
<p>
<? 
$dir 
= new DirectoryIterator('files');//Aqui se indica la ruta 
while($dir->valid()) { 
if(!
$dir->isDot()) { 
$num++;
print(
"<TD bgcolor=#FFCCFF>"."<a href=borrar.php?files=$dir><img src=\"delete.gif\" title='borrar $dir' border='0'/></font></a>"."</TD>\n"); 

$dir->next('$files'); 
}

?>
<p align="left"><?
$dir 
= new DirectoryIterator('files');//Aqui se indica la ruta 
while($dir->valid()) { 
if(!
$dir->isDot()) { 
$num++;
print(
"<TD bgcolor=#FFCCFF>"."<a href=javascript:Abrir_ventana('files/$dir')><img src=\"open.gif\"   border='0' title='abrir $dir'/></font></a>"."</TD>\n"); 

$dir->next('$files'); 
}
?>
</p>
</body>
subir.php
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=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
a:link {
    color: #000000;
    text-decoration: none;
}
a:visited {
    text-decoration: none;
    color: #000000;
}
a:hover {
    text-decoration: none;
    color: #FF0000;
}
a:active {
    text-decoration: none;
    color: #000000;
}
-->
</style></head>

<body>
<?php
// Where the file is going to be placed  
$target_path "files/"

/* Add the original filename to our target path.   
Result is "uploads/filename.extension" */ 
$target_path $target_path basename$_FILES['uploadedfile']['name']);  

$target_path "files/"

$target_path $target_path basename$_FILES['uploadedfile']['name']);  

if(
move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { 
    echo 
"El Archivo ".  basename$_FILES['uploadedfile']['name']).  
    
"\r\n\r\n.Subio exitosamente \r\n\r\n."
} else{ 
    echo 
"Hubo un error en el upload 1. \r\n\r\n."
}  

/////////////// UPLOAD 2 /////////////// 
$target_path "files/"

$target_path $target_path basename$_FILES['uploadedfile2']['name']);  

$target_path "files/"

$target_path $target_path basename$_FILES['uploadedfile2']['name']);  

if(
move_uploaded_file($_FILES['uploadedfile2']['tmp_name'], $target_path)) { 
    echo 
"EL Archivo ".  basename$_FILES['uploadedfile2']['name']).  
    
"Subio exitosamente \r\n\r\n."
} else{ 
    echo 
"Hubo un error en el upload2. \r\n\r\n."
}  
//aki se seecciona los archivos XD solo asi me acuerdo!

?>
<p><strong> <a href="pload.php"><em>Vuelve para ver tus archivos</em></a></strong></p>
</body>
</html>

hay unas nesesitas los 2

hay uan parte q dice delet.gif o loque diga .gif son imagenes para borrar los archivos o abrir los archivos (eso gracias a Trybi)


usalo asi !
  #3 (permalink)  
Antiguo 24/06/2009, 15:11
 
Fecha de Ingreso: noviembre-2008
Mensajes: 49
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Envio de ficheros al server

si esta bien el code gracias, pero llevo un par de semanas leyendo PHP veo el code como un poco avanzado pa mi, pero igual gracias
  #4 (permalink)  
Antiguo 24/06/2009, 15:12
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Envio de ficheros al server

Mira
Código PHP:
$archivo=$_FILES['fichero'];

$directorioSubida="/opt/lampp/htdocs/tpv2/paneldecontrol";
        
$tmp_name $_FILES["fichero"]["tmp_name"];
        
$name $_FILES["fichero"]["name"];
        
move_uploaded_file($tmp_name"$directorioSubida/$name"); 
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #5 (permalink)  
Antiguo 24/06/2009, 15:18
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Envio de ficheros al server

Para que tanto codigo para subir un simple archivo, aca te dejo un script simple y comodo que yo utilizo:

Aca el formulario:

Código PHP:
<form action="script_para_subir.php" method="POST" enctype="multipart/form-data">
<
b>Archivo:</b>
<
input size="29" type="file" name="archivo">

<
input type="submit" value="Aceptar">
<
input type="reset" value="Cancelar">
</
form
Por otro lado en script_para_subir.php se realiza el movimiento del archivo de la carpeta temporal del servidor donde se subio, al lugar donde vos queres que sea guardado:

Código PHP:
<?php
$archivo
=strip_tags($_POST["archivo"]);

//Esto por si queres saber la extension, de todas formas te va a seguir para subir el archivo a tu carpeta:
$extension=strrchr($_FILES['archivo']['name'],".");

//En esta variable para que te sea mas comodo trabajar con este script, definis la carpeta o subcarpeta donde va a ir el archivo, obviamente dentro de la carpeta de donde se ejecute el script:
$carpeta="archivos/";

//Por ultimo definimos el nombre que queremos que lleve el archivo junto con la extension, que incluso puede ingresarse mediante el formulario anterior, pero aca te lo dejo asi:
$nombre="nombre";

//Por ultimo movemos el archivo a la carpeta de destino concatenando las variables correspondientes:
move_uploaded_file($_FILES['archivo']['tmp_name'],$carpeta.$nombre.$extension);
?>
Espero que te sirva :)
  #6 (permalink)  
Antiguo 24/06/2009, 15:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 49
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Envio de ficheros al server

gracias a todos por sus aportes, estoy analizando los codes ;) veo mas facil el de ema21, tomare una recopilacion de todos y programare el upload.php a mi manera a ver como sale :P saludos y de nuevo gracias..
  #7 (permalink)  
Antiguo 24/06/2009, 15:38
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Respuesta: Envio de ficheros al server

man mi codigo es largoya que puedes abrir y borrar los archivos!
  #8 (permalink)  
Antiguo 24/06/2009, 15:41
 
Fecha de Ingreso: noviembre-2008
Mensajes: 49
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Envio de ficheros al server

tu codigo esta bien no e dicho lo contrario,
  #9 (permalink)  
Antiguo 25/06/2009, 12:50
 
Fecha de Ingreso: noviembre-2008
Mensajes: 49
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Envio de ficheros al server

bueno hice este code bajo mis pequeños conocimientos basicos me funciono bien.,

<html>
<head>
<title>upload</title>
</head>
<body bgcolor="#303030">
<body text="#FFFFFF">
<font size="3">
<body topmargin="50">
<body leftmargin="50">
<h1>Formulario para el envio de ficheros</h1>
<form enctype="multipart/form-data" method="post" action="upload.php">
<input type="hidden" name="max_file_size" value="2000">
<input type="file" name="archivo">
<input type="submit" name="enviar">
</form>
</body>


UPLOAD.PHP

<PHP>
<?php
if ($archivo != "" AND $archivo_size!="" AND $archivo_size<=$lim_tamano){
if (copy($archivo,"c:/appserv/www/".$archivo_name)){
echo ("<h2>Se a transferido el archivo".$archivo_name);
echo "<br>";
echo ("su tamano es :".$archivo_size." "."bytes");
echo "<br>";
echo ("el fichero es de tipo:".$archivo_type);
echo "</h2>";
}
}
else
{
echo ("<h2>no se puedo copiar el archivo </h2>");

echo ("<h2>su tama&ntilde;o no puede exceder mas de </h2>:".$lim_tamano);
}
?>
</PHP>
  #10 (permalink)  
Antiguo 25/06/2009, 12:59
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Envio de ficheros al server

No utilices copy(), utiliza move_uploaded_file como te puse en mi script que es la funcion correcta, de esa forma puede que a veces tengas inconvenientes.
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 12:28.