Upload de Archivos
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
Es que el que tengo esta mal.
Gracias por su atencion =P
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>
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>
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.
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.
