Avatar Image
Usuario habitual
Usuario habitual

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

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

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

Avatar Image
Machacateclados
Machacateclados

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 !!!

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

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/

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

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>
----------------

Avatar Image
Machacateclados
Machacateclados

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 !!!

Avatar Image
Usuario habitual
Usuario habitual

ok,gracias

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

ah, sera eso

Avatar Image
Machacateclados
Machacateclados

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

fisica
Usuario Novato
Usuario Novato

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

Avatar Image
Usuario habitual
Usuario habitual

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

fisica
Usuario Novato
Usuario Novato

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
Avatar Image
Machacateclados
Machacateclados

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 !!!

fisica
Usuario Novato
Usuario Novato

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

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

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>
------------------------------------

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

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

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
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 22/Sep/2010, 22:49
el_marine1 chavp12kSep/10
Por: , el 03/Oct/2008, 01:03
am_ca t3r4byt332kOct/08
Por: , el 01/Ago/2006, 07:12
nico1623 angelismo NoSetup.org tluu.sansano34kAug/06
Por: , el 13/Abr/2006, 14:28
Bububu1622kApr/06
Por: , el 10/Abr/2006, 13:13
petete21 NoSetup.org33kApr/06