Upload de Archivos

dzerito
14 de Diciembre del 2002
Necesito saber el codigo correcto para subir archivos desde una web usando php.
Es que el que tengo esta mal.
Gracias por su atencion =P

Ezequiel
14 de Diciembre del 2002
Prob谩 con este programita en php que funciona muy bien.

saludos y cualquier cosa escribime.
Ezequiel
------------------------------

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

// Configuraci贸n de variables
$path = "C:\dir en el server\tmp";
/* Ruta dentro del servidor hacia el directorio en
donde se almacenan los archivos. */

$url = "http://www.TUSITIO.XXX/tmp";
/* URL absoluta del directorio en donde se almacenan
los archivos. */

$tam = 5000;
/* 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 <b>$archivo_name</b>";
$mensaje .= "Por favor int茅ntelo de nuevo.";
}
else {
$fichero = $path . "/" . $archivo_name;
copy($archivo, $fichero);
$kb = filesize($fichero) / 1024;
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);
?>
<html>
<head>
<title>Listado interactivo de archivos</title>
</head>
<body>
<?php echo $mensaje;?>
<font face=Arial size=2>
Bienvenido al listado interactivo de archivos.
Actualmente contamos con los siguientes archivos:</font><br><br>
<font face="Courier New, Arial" size=2>
<?php
if(count($archivos) == 0) {
echo "No existen archivos actualmente.<br>n";
}
else {
for($i = 0; $i < count($archivos); $i++)
echo "<a href="".$url."/".rawurlencode($archivos[$i])."">".$archivos[$i]."</a><br>n";
}
?>
</font>
<hr>
<br>
<font face="Verdana, Arial" size=2>
Si desea agregar un archivo a la lista utilize el siguiente formulario:</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>
</html>

ricki
14 de Diciembre del 2002
Hola.
Tengo ese mismo c贸digo en un servidor y me funciona muy bien.
Como puedo hacer para utilizarlo desde otro servidor.
Me refiero a un html de otro servidor que llame a subir.php y suba los archivos(no importa donde se suban los archivos)
Esto, de momento lo hago con un <a href="http://.../subir.php">subir archivos</a>
pero lo que no quiero es entrar en el otro servidor, solo utilizarlo para subirlos y que mande la respuesta al servidor donde est谩 el html.

He provado con form action="http://.../subir.php" pero se abre en el explorador el archivo subir php y lo que quiero es recibir la respuesta en vez de meterme.

A ver si alguien me puede ayudar. Si no se puede hacer esto dec铆dmelo por favor.
Gracias.

david carrero
14 de Diciembre del 2002
Busca en

www.hotscripts.com