home Foro de soporte Espacio WEB PHP
 
Como hace uploads en la pagina web?
#1 ·

como se hace uploas para subir archivos a una pagina web en webcindario????


si alguien lo sabe que me diga por favor el formulario y el comando php


Usuario habitual
Usuario habitual
Haz clic para ver el perfil del usuario
Mensajes: 11
Desde: 06/Mar/2003
· ·
#2 ·

eso tambien me lo preguntaba yo , como hacer uploads para la pagina web?


Come y duerme en el foro
Come y duerme en el foro
Haz clic para ver el perfil del usuario
Mensajes: 250
Desde: 19/Feb/2003
·
#3 · ·

Es muy fácil, pero depende de si miarroba permite subir archivos a la web. Lo voy a explicar así:

<form method="post" action="subir.php" enctype="multipart/form-data">
<input type="file" name="archivo">
<input type="submit" value="Enviar">
</form>


Este es el formulario que utilizaremos para poder subir los archivos, ahora crearemos el archivo subir.php donde se procesara el formulario para poder subir los archivos:

<?
if($archivo) {
if($archivo_size > 100000) { echo "El archivo supera los 100 Kb." ; }
else {
copy($archivo, "archivos/$archivo_name") ;
echo "El archivo ha sido subido con éxito." ;
}
}
?>


Tienen que darle el permiso chmod 777 a la carpeta donde deseen subir los archivos.

Saludos !!!


Machacateclados
Machacateclados
Haz clic para ver el perfil del usuario
Mensajes: 270
Desde: 13/Mar/2002
· ·
#4 ·

En teoria parece que funciona, pero cuando le pulso en enviar me muestra el siguiente error:

-------------------------------------------------
Warning: open_basedir restriction in effect. File is in wrong directory in /home/webcindario/anonimo/php/subir.php on line 28
El archivo ha sido subido con éxito.
------------------------------

y no sube ningun archivo,auque le haya dado el chmod 777 al directorio https://anonimo.webcindario.com/php/


Come y duerme en el foro
Come y duerme en el foro
Haz clic para ver el perfil del usuario
Mensajes: 250
Desde: 19/Feb/2003
·
#5 ·

ha, y yo tengo un codigo mas complejo pero tampco me funciona, echale un vistazo a ver que te parece
-------------------
<html>
<head>
<title>web</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php

$my_max_file_size = "102400"; # in bytes
$image_max_width = "300";
$image_max_height = "300";
$the_path = "/usr/local/apache/htdocs/sites/dev/phpbuilder/upload/files";

$registered_types = array(
"application/x-gzip-compressed" => ".tar.gz, .tgz",
"application/x-zip-compressed" => ".zip",
"application/x-tar" => ".tar",
"text/plain" => ".html, .php, .txt, .inc (etc)",
"image/bmp" => ".bmp, .ico",
"image/gif" => ".gif",
"image/pjpeg" => ".jpg, .jpeg",
"image/jpeg" => ".jpg, .jpeg",
"application/x-shockwave-flash" => ".swf",
"application/msword" => ".doc",
"application/vnd.ms-excel" => ".xls",
"application/octet-stream" => ".exe, .fla (etc)"
); # these are only a few examples, you can find many more!

$allowed_types = array("image/bmp","image/gif","image/pjpeg","image/jpeg");

# --

function form($error=false) {

global $PHP_SELF,$my_max_file_size;

if ($error) print $error . "<br><br>";

print "n<form ENCTYPE="multipart/form-data" action="" . $PHP_SELF . "" method="post">";
print "n<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="" . $my_max_file_size . "">";
print "n<INPUT TYPE="hidden" name="task" value="upload">";
print "n<P>Upload a file";
print "n<BR>NOTE: Max file size is " . ($my_max_file_size / 1024) . "KB";
print "n<br><INPUT NAME="the_file" TYPE="file" SIZE="35"><br>";
print "n<input type="submit" Value="Upload">";
print "n</form>";

} # END form

# --

if (!ereg("^4",phpversion())) {
function in_array($needle,$haystack) { # we have this function in PHP4, so for you PHP3 people
for ($i=0; $i < count($haystack); $i++) {
if ($haystack[$i] == $needle) {
return true;
}
}
}
}

# --

function validate_upload($the_file) {

global $my_max_file_size, $image_max_width, $image_max_height,$allowed_types,$the_file_type,$registered_types;

$start_error = "n<b>Error:</b>n<ul>";

if ($the_file == "none") { # do we even have a file?

$error .= "n<li>You did not upload anything!</li>";

} else { # check if we are allowed to upload this file_type

if (!in_array($the_file_type,$allowed_types)) {
$error .= "n<li>The file that you uploaded was of a type that is not allowed, you are only
allowed to upload files of the type:n<ul>";
while ($type = current($allowed_types)) {
$error .= "n<li>" . $registered_types[$type] . " (" . $type . ")</li>";
next($allowed_types);
}
$error .= "n</ul>";
}

if (ereg("image",$the_file_type) && (in_array($the_file_type,$allowed_types))) {

$size = GetImageSize($the_file);
list($foo,$width,$bar,$height) = explode(""",$size[3]);

if ($width > $image_max_width) {
$error .= "n<li>Your image should be no wider than " . $image_max_width . " Pixels</li>";
}

if ($height > $image_max_height) {
$error .= "n<li>Your image should be no higher than " . $image_max_height . " Pixels</li>";
}

}

if ($error) {
$error = $start_error . $error . "n</ul>";
return $error;
} else {
return false;
}
}
} # END validate_upload

# --


function list_files() {

global $the_path;

$handle = dir($the_path);
print "n<b>Uploaded files:</b><br>";
while ($file = $handle->read()) {
if (($file != ".") && ($file != "..")) {
print "n" . $file . "<br>";
}
}
print "<hr>";
}

# --

function upload($the_file) {

global $the_path,$the_file_name;

$error = validate_upload($the_file);
if ($error) {
form($error);
} else { # cool, we can continue
if (!@copy($the_file, $the_path . "/" . $the_file_name)) {
form("n<b>Something barfed, check the path to and the permissions for the upload directory</b>");
} else {
list_files();
form();
}
}
} # END upload

# --

############ Start page

print "<html>n<head>n<title>Upload example</title>n</head>n<body>";

switch($task) {
case 'upload':
upload($the_file);
break;
default:
form();
}

print "n</body>n</html>";

?>


</body>
</html>
----------------


Come y duerme en el foro
Come y duerme en el foro
Haz clic para ver el perfil del usuario
Mensajes: 250
Desde: 19/Feb/2003
·
#6 · ·

Lo que puede ser es que miarroba no permita esta función, pero en el servidor en el que estoy http://www.iefactory.com sirve correctamente.

Saludos !!!


Machacateclados
Machacateclados
Haz clic para ver el perfil del usuario
Mensajes: 270
Desde: 13/Mar/2002
· ·
#7 ·

ok,gracias


Usuario habitual
Usuario habitual
Haz clic para ver el perfil del usuario
Mensajes: 11
Desde: 06/Mar/2003
· ·
#8 ·

ah, sera eso


Come y duerme en el foro
Come y duerme en el foro
Haz clic para ver el perfil del usuario
Mensajes: 250
Desde: 19/Feb/2003
·
#9 ·

Si yo creo que es eso, ya que en los foros phpBB tampoco deja subir los avatares desde los pcs, supongo que sera alguna medida de seguridad


Machacateclados
Machacateclados
Haz clic para ver el perfil del usuario
Mensajes: 145
Desde: 16/Feb/2003
·
#10 · ·

Hola,

Sucede que PHP está en safe_mode. La función copy no funciona, se pueden subir archivos con:

@move_uploaded_file($file, "$absolute_path/$file_name");

donde previamente se define

$absolute_path = /home/webcindario/nombre/directorio

"nombre" es lo que va en nombre.webcindario.com y /directorio tiene que estar con permisos 777

Saludos


Usuario Novato
Usuario Novato
Haz clic para ver el perfil del usuario
Mensajes: 5
Desde: 14/Mar/2003
·
#11 ·

Estonces fisica, podrias decirme cual es el codigo php completo para hacerlo que asin no me entero bien,... por favor


Usuario habitual
Usuario habitual
Haz clic para ver el perfil del usuario
Mensajes: 11
Desde: 06/Mar/2003
· ·
#12 · ·

Hola!

Bueno, acá va el código. Lo tengo en dos scripts.

1. conf.php donde se definen algunos parámetros:

Codigo:
<?
$absolute_path = "/home/webcindario/tu-nombre/directorio"; // Ruta del directorio donde suben los archivos
$site_url = "https://tu-nombre.webcindario.com/directorio"; // url al cual suben los archivos
$size_limit = "yes"; // Si desean limitar el tamaño de los archivos a subir
$limit_size = "200000"; // ese límite, en bytes
$limit_ext = "yes"; // para limitar las extensiones permitidas
$extensions = array(".gif", ".jpg", ".wmf", ".txt", ".doc", ".wpd", ".tex", ".dvi", ".pdf", ".dat", ".zip"); // lista de extensiones permitidas
?>


donde /directorio debe tener permisos 777.

2. El script subir.php

Codigo:
<?php
error_reporting(7);

switch($upload) {
default:
include "conf.php";
echo "
<html>

<head><title>Subir archivo</title></head>

<body topmargin="10" leftmargin="0" bgcolor="#FFFFFF" link="#0000FF" vlink="#000080" alink="#000080" text="#000000" style="font-family: Arial; font-size: 10pt; color: #000000">

<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#000000" width="400" id="AutoNumber1">
<tr>
<td bgcolor="#FFFFFF" height="25">
<p align="center"><font size="2"><b>Subir archivo</b></font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><font size="2">Requisitos:</font>
<ul type="square">
<li><font size="2">Extensiones permitidas:<b>";
if (($extensions == "") or ($extensions == " ") or ($limit_ext != "yes") or ($limit_ext == "")) {
echo "cualesquiera";
} else {
$ext_count2 = $ext_count+1;
for($counter=0; $counter<count($extensions); $counter++) {
echo "&nbsp; $extensions[$counter]";
}
}
if (($limit_size == "") or ($size_limit != "yes")) {
$limit_size = "de cualquier tamano";
} else {
$limit_size .= " bytes";
}
echo"</b></font></li>
<li><font size="2">Cada archivo puede tener hasta $limit_size</font></li>
</ul>
<form method="POST" action="$PHP_SELF?upload=doupload" enctype="multipart/form-data">
<p align="center"><table align=center><tr><td valign=top>
<input type=file name=file size=30 style="font-family: Arial; font-size: 10pt; color: #5E6A7B; border: 1px solid #5E6A7B; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1"><br><br>
<br>
<button name="submit" type="submit" style="font-family: Arial; font-size: 10pt; color: #5E6A7B; border: 1px solid #5E6A7B; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1">Subir</button>
</td></tr></table>
</p>
</form>
</td>
</tr>
</table>
</center>
</div>
<br>
</body>
</html>";

break;
case "doupload":
include "conf.php";
$endresult = "<font size="2">El archivo fue subido.</font>";
$linkname = "<font size="2">Subir otro</font>";

$fileexsists = "false";
if ($file_name == "") {
$endresult = "<font size="2">No seleccionaste ningun archivo</font>";
$linkname = "<font size="2">Elige un archivo</font>";
} else {
if(file_exists("$absolute_path/$file_name")) {
$endresult = "<font size="2">Ya hay un archivo con ese nombre en la carpeta</font>";
$linkname = "<font size="2">Intenta con otro archivo</font>";
$fileexsists = "true";
} else {
if (($size_limit == "yes") && ($limit_size < $file_size)) {
$endresult = "<font size="2">El archivo es demasiado grande</font>";
$linkname = "<font size="2">Intenta con otro de menor tamaño</font>";
} else {
$ext = strrchr($file_name,'.');
if (($limit_ext == "yes") && (!in_array($ext,$extensions))) {
$endresult = "<font size="2">El archivo no tiene una de las extensiones permitidas</font>";
$linkname = "<font size="2">Revisa la lista de extensiones permitidas, e intenta con otro tipo de archivo</font>";
} else {
@move_uploaded_file($file, "$absolute_path/$file_name")
or $endresult = "<font size="2">No se pudo copiar el archivo al servidor</font>";
}
}
}
}

if (file_exists("$absolute_path/$file_name") && $fileexsists == "false") {
if ($logfile = fopen("$absolute_path/log.txt", "a")) {
$timenow = time();
fwrite($logfile, "$timenow - $file_name - $file_sizen");
fclose($logfile);
}
}

if ($endresult == "<font size="2">No se pudo copiar el archivo al servidor</font>") {
$linkname = "<font size="2">Intenta otra vez</font>";
}
$ext = strrchr($file_name,'.');
echo "
<html>

<head>
<title>Subir archivo</title>
</head>

<body topmargin="10" leftmargin="0" bgcolor="#FFFFFF" link="#0000FF" vlink="#000080" alink="#000080" text="#000000" style="font-family: Arial; font-size: 10pt; color: #000000">

<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#000000" width="400" id="AutoNumber1">
<tr>
<td bgcolor="#FFFFFF" height="25">
<p align="center"><font size="2"><b>Resultado</b></font></td>
</tr>
<tr>
<td>
<center> $endresult</center>
</td>
</tr>
<tr>
<td>
<p>
<center> <A HREF="$PHP_SELF">$linkname</a></center>
<p><br>
</td>
</tr>
</table>
</center>
</div>


</body>

</html>";
break;
}
?>


Los dos ficheros tienen que estar en un mismo directorio y se llama a: https://tu-nombre.webcindario.com/subir.php

-------------------------

Este script es sube el fichero con el mismo nombre que tiene en la PC personal, alguno sabe cómo cambiar eso y darle un nombre diferente al archivo?

Saludos

Usuario Novato
Usuario Novato
Haz clic para ver el perfil del usuario
Mensajes: 5
Desde: 14/Mar/2003
·
#13 ·

El código está demasiado largo, parece que es para versiones anteriores de php, orita es más cómodo crear códigos en php. Si deseas el código más simplificado aquí lo dejo:

<?
$pagina = "subir.php" // Debe ser el nombre del archivo que contiene al script ;
$directorio = "archivos" // El directorio donde deseas subir los archivos ;
if($archivo) {
if($archivo_size > 100000) {
echo "El archivo supera los 100 Kb." ;
}
else {
move_uploaded_file($archivo,"$directorio/$archivo_name") ;
echo "El archivo ha sido subido con éxito." ;
}
}
?>


Todo esto lo pones en un archivo llamado subir.php.

Saludos !!!


Machacateclados
Machacateclados
Haz clic para ver el perfil del usuario
Mensajes: 270
Desde: 13/Mar/2002
· ·
#14 ·

Muchas gracias Electros

Lo que pasa es que ese script lo extraje de otro más amplio,
y por eso seguramente hay cosas de más, además es cierto, es de hace un tiempo.

Saludos


Usuario Novato
Usuario Novato
Haz clic para ver el perfil del usuario
Mensajes: 5
Desde: 14/Mar/2003
·
#15 · ·

Por mas que lo intento, los codigos no funcionan al 100% debido a las restricciones de miarroba, por eso expongo aqui un codigo que he echo y que funciona sin necesidad de poner las carpetas con permisos chmod 666 ni nada de eso

el codigo es el siguiente, y si alguien lo quiere utilizar para su web que lo copie de aqui porque siempre fuciona; incluso lo he provado en varios servidores
----------------------------------
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--

BODY
{
FONT-FAMILY: Verdana, Arial, Helvetica;
font-size: 9pt;
}
A:link { TEXT-DECORATION: none }
A:visited { TEXT-DECORATION: none }
A:active { TEXT-DECORATION: none }
A:hover { TEXT-DECORATION: none; color: red}
}
//-->
</style>
</head>

<body>
<strong>Subir archivos a la pagina web</strong><br>
<br>
Tamaño recomendado por archivo 100 kb<br>
<form enctype="multipart/form-data" action="<?PHP echo $PHP_SELF ?>"
method="post">
<div align="left">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
Enviar un archivo:
<input name="userfile" type="file">
<input type="submit" name="submit" value="Enviar">
</div>
</form>
<?PHP

// copy to this directory
$dir="./";

// copy the file to the server
if (isset($submit)){

if (!is_uploaded_file ($userfile)){

echo "<b>$userfile_name</b> ERROR DE ARCHIVO !!";
}

// check whether it has been uploaded
if (is_uploaded_file ($userfile)){
move_uploaded_file($userfile,$dir.$userfile_name) ;}

echo "<b>$userfile_name</b> archivo correctamente copiado !!";
}

?>
<div align="left"><br>
<font size="2"> <br>
Directorio de la pagina web <br>
</font>
<table width="75%" border="1" bgcolor="#FFFFCC">
<tr>
<td> <font size="2">
<?
if(!$web){
$web='.';
}
else
{
$dir=$web.'/';
}
$handle=opendir($web);
while ($file = readdir($handle)) {
if($file!==basename($PHP_SELF)&&$file!==".")
{
if(!$file) echo "No se encontraron archivos";
if(!is_dir($file))
echo "<a href="".$dir.$file."" target="_blank">$file</a><br>n";
else
echo "<a href="".basename($PHP_SELF)."?web=".$dir.$file."">$file</a><br>n";
}
}
closedir($handle);
echo '
';
exit;
?>
</font></td>
</tr>
</table>
</div>
</body>
</html>
------------------------------------


Come y duerme en el foro
Come y duerme en el foro
Haz clic para ver el perfil del usuario
Mensajes: 250
Desde: 19/Feb/2003
·
#16 ·

si quereis probar el codigo entrad a http://anonimo.webcindario.com y lo comprovareis


Come y duerme en el foro
Come y duerme en el foro
Haz clic para ver el perfil del usuario
Mensajes: 250
Desde: 19/Feb/2003
·
ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Foro de soporte · Espacio WEB · PHP
Opciones:
Subscríbete a este tema
Date de baja de este tema
Ir al subforo:  
TU NO PUEDES Escribir nuevos temas en este foro
TU NO PUEDES Responder a los temas en este foro
TU NO PUEDES Editar tus propios mensajes en este foro
TU NO PUEDES Borrar tus propios mensajes en este foro
Ahora son las 17:01 UTC+02:00 DST
Temas similares
 I FotoTemaMensajesÚltima respuesta
No Hay mensajes nuevosHaz clic para ver el perfil del usuario
Foro dentro de Pagina Web
Por: · 22/Sep/2010, 22:49
122/Sep/2010, 22:55
 Ir al último mensaje del tema
No Hay mensajes nuevosHaz clic para ver el perfil del usuario306/Oct/2008, 10:10
 Ir al último mensaje del tema
No Hay mensajes nuevosHaz clic para ver el perfil del usuario302/Ago/2006, 04:34
 Ir al último mensaje del tema
No Hay mensajes nuevosHaz clic para ver el perfil del usuario
error en la página web...
Por: · 13/Abr/2006, 14:28
219/Abr/2006, 17:51
 Ir al último mensaje del tema
No Hay mensajes nuevosHaz clic para ver el perfil del usuario310/Abr/2006, 19:02
 Ir al último mensaje del tema