Foros del Web » Programando para Internet » PHP »

Sobreescribir Archivo

Estas en el tema de Sobreescribir Archivo en el foro de PHP en Foros del Web. Hola amigos/as mi duda es la siguiente: ¿como sobreeescribo un archivo existente en mi server? Subo un archivo llamado file.zip y no hay problema Ahora ...
  #1 (permalink)  
Antiguo 28/10/2007, 14:18
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Sobreescribir Archivo

Hola amigos/as mi duda es la siguiente:

¿como sobreeescribo un archivo existente en mi server?

Subo un archivo llamado file.zip y no hay problema

Ahora cuando quiero subir el mismo archivo pero modificado no me toma los cambios o sea me conserva solo el anterior

Gracias!!!

El còdigo que utilizo es el siguiente:


<b>3.</b> <font face="Verdana, Arial" size=2>
Subir la lista de precios:</font><br>
<form action="<?php echo $PHP_SELF; ?>" method=post enctype="multipart/form-data">
Archivo: <input type=file name=archivo><br>
<input type=submit name=send value=Enviar>
</form>
</body>


<?

// Control anti-cache
header("Expires: 0");
header("Pragma: no-cache");

// Configuración de variables
$path = "/home/httpd/blablabla.com.ar/blablabla_html/directoriomio/";
/* Ruta dentro del servidor hacia el directorio en
donde se almacenan los archivos. */

$url = "http://www.blablabla.com.ar";
/* URL absoluta del directorio en donde se almacenan
los archivos. */

$tam = 10000;
/* Tamaño máximo para los archivos que sean enviados.
(en kilobytes) */

//--------------------------------------------------



// A continuación se encuentra una implementación de
// la función in_array().
// Esta función ya viene incluida en PHP4, así que solo
// es necesario utilizarla cuando usted trabaja sobre
// PHP3.
/*
function in_array($needle, $haystack) {
for($i=0;$i<count($haystack)&&$haystack[$i]!=$needle;$i++);
return ($i!=count($haystack));
}
*/


if(isset($send)) {
$dir = opendir($path);
while($arch = readdir($dir))
$directorio[count($directorio)] = $arch;
closedir($dir);
$mensaje = "<font face=\"Verdana, Arial\" size=2>\n";
if($archivo == "none") {
$mensaje .= "No ha seleccionado ningún archivo para agregar a la lista. ";
$mensaje .= "Por favor inténtelo de nuevo.";
}
elseif(in_array($archivo_name,$directorio)) {
$mensaje .= "Ya existe un archivo con el nombre $archivo_name";
$mensaje .= "Por favor inténtelo de nuevo.";
}
else {
$fichero = $path . "/" . $archivo_name;
copy($archivo, $fichero);
$kb = filesize($fichero) / 10024;
if($kb > $tam) {
unlink($fichero);
$mensaje .= "No puede ser agregado ya que ha pasado el tamaño permitido. ";
$mensaje .=
"Actualmente sólo permitimos archivos de hasta $tam kb.";
}
else {
$mensaje .= "Su archivo ha sido agregado exitosamente. ";
$mensaje .= "Muchas gracias por su contribución.";
}
}
$mensaje .= "</font><br><hr><br>\n";
}
$dir = opendir($path);
while($arch = readdir($dir)) {
if($arch != '.' && $arch != '..')
$archivos[count($archivos)] = $arch;
}
closedir($dir);
if(count($archivos) > 0)
sort($archivos);
?>
__________________
"Life goes on..."
  #2 (permalink)  
Antiguo 28/10/2007, 16:02
 
Fecha de Ingreso: mayo-2006
Mensajes: 288
Antigüedad: 17 años, 10 meses
Puntos: 4
Re: Sobreescribir Archivo

umm sugeriria que del archivo que suvas estraigas el nombre ya seas archivo.zip y con un if podrias verificar si este existe de ser verdadero eliminas el archivo antiguo, es decir el existente, y luego subes el nuevo archivo.

Asi de manera dinamica habras sustituido un archivo antiguo.

;)
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 03:29.