Foros del Web » Programando para Internet » PHP »

Crear UPLOAD de imagenes

Estas en el tema de Crear UPLOAD de imagenes en el foro de PHP en Foros del Web. Hola necesito crear un up load en php para mi pagina que los usuario pueda subir imágenes a un cierta carpeta de mi servidor. Yo ...
  #1 (permalink)  
Antiguo 01/09/2007, 12:54
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 854
Antigüedad: 17 años
Puntos: 6
Mensaje Crear UPLOAD de imagenes

Hola necesito crear un up load en php para mi pagina que los usuario pueda subir imágenes a un cierta carpeta de mi servidor.

Yo tengo el siguiente formulario

Código HTML:
<form action="acción.php" method="post" enctype="multipart/form-data">
Seleccione el archivo:
<input type="file" name="foto"><br>
<input type="submit" value="Enviar">
</form> 

Pero no se como hacer la acción

Alguien me dice alguna pagina que te diga bien como hacerlo o me dice alguno de ustedes como hacerlo necesito que la acción diga
En que carpeta se guardaran las imágenes
Que el tamaño de las imágenes no sea mayor a un mega
Que las imágenes sean gif, png, jpg

Muchas gracias
  #2 (permalink)  
Antiguo 01/09/2007, 13:01
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Re: Crear UPLOAD de imagenes

Hola Manumaf ese tema ya lo eh posteado puedes verlo en este pots:

http://www.forosdelweb.com/f18/subir-imagenes-noticias-448466/


Saludos...
  #3 (permalink)  
Antiguo 01/09/2007, 15:52
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 854
Antigüedad: 17 años
Puntos: 6
Re: Crear UPLOAD de imagenes

Gracias pero eso no me respondio mucho, por que es con noticias tambein y de php no se mucho yo solo quiero hacer lo que dijwe antes alguin me pasa alguna pagina que diga como hacerlo o algun codigo?
  #4 (permalink)  
Antiguo 01/09/2007, 16:04
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Crear UPLOAD de imagenes

Date una vuelta por http://www.forosdelweb.com/showpost....6&postcount=15

Un saludo,
  #5 (permalink)  
Antiguo 01/09/2007, 17:16
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 854
Antigüedad: 17 años
Puntos: 6
Re: Crear UPLOAD de imagenes

Pero por ejeplo yo tengo este codigo

Código PHP:
 if (is_uploaded_file($_FILES['archivo']['tmp_name'])) {
  if(
$_FILES['archivo']['size'] < 750000) { 
    
copy($_FILES['archivo']['tmp_name'], $_FILES['archivo']['name']);
    
$subio true;
  }
 }
 
 if(
$subio) {
  echo 
"El archivo subio con exito";
 } else {
  echo 
"El archivo no cumple con las reglas establecidas"
 }
 die(); 
Como ago para que solo se acepten imegenes osea que solo acepte formatos (.gif .png . jpg , etc)

Y donde pongo en que carpeta del servidor quiero que se pongan?
  #6 (permalink)  
Antiguo 01/09/2007, 17:23
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Crear UPLOAD de imagenes

manumaf, para indicar el "target" de la copia tenes que establecerlo en el segundo paramentro.
El código valida actualmente el tamaño del archivo

Código PHP:
  if($_FILES['archivo']['size'] < 750000) { 
De forma análoga podés validar que sea una imagen

Código PHP:
  if($_FILES['archivo']['size'] < 750000 && strpos('image',$_FILES['archivo']['type']) === 0) { 
  #7 (permalink)  
Antiguo 01/09/2007, 17:33
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 854
Antigüedad: 17 años
Puntos: 6
Re: Crear UPLOAD de imagenes

A claro pro como indico en que carpeta del servidor quiero que se carguen?
  #8 (permalink)  
Antiguo 01/09/2007, 17:48
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Crear UPLOAD de imagenes

Código PHP:
copy($_FILES['archivo']['tmp_name'], "./dir_a_imagenes/".$_FILES['archivo']['name']); 
Un saludo,
  #9 (permalink)  
Antiguo 02/09/2007, 02:10
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 854
Antigüedad: 17 años
Puntos: 6
Re: Crear UPLOAD de imagenes

El codigo me quedo asi pero todabia hay un problema:
Código PHP:
<?php if (is_uploaded_file($_FILES['archivo']['tmp_name'])) {
  if(
$_FILES['archivo']['size'] < 750000 && strpos('image',$_FILES['archivo']['type']) === 0) {  
    
copy($_FILES['archivo']['tmp_name'], "./public_html/hotimg/img/".$_FILES['archivo']['name']);  
    
$subio true;
  }
 }
 
 if(
$subio) {
  echo 
"El archivo subio con exito";
 } else {
  echo 
"El archivo no cumple con las reglas establecidas"
 }
 die();
 
?>

Sea cual sea la imagen que suba me sale else osea que el archivo no cumple con las reglas establecidas

y otra duda que seran los 75000 bytes kb o que?
  #10 (permalink)  
Antiguo 02/09/2007, 06:33
 
Fecha de Ingreso: agosto-2007
Mensajes: 11
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Crear UPLOAD de imagenes

Prueba con este código:
Código PHP:
<?php  
$varrand 
substr(md5(uniqid(rand())),0,5);         
$varallw = array("image/gif","image/jpeg","image/png","image/x-png"); 
$varpath "Tu ruta"
$varstat ""

if (
$_POST["action"] == "Enviar") { 
    if (
is_uploaded_file($_FILES["archivo"]["tmp_name"])) { 
        
$varname $_FILES["archivo"]['name']; 
        
$vartemp $_FILES["archivo"]['tmp_name']; 
        
$vartype $_FILES["archivo"]['type']; 
         
        if ((
$_FILES["archivo"]['size']/1024) > 1024) {
        if (
in_array($vartype$varallw) && $varname != "") { 
            
$varname $varrand.".".$varname
            if (
copy($vartemp"tmp/".$varname)) { 
                
$varpath $varpath.$varname

                
$varstat "ok"
            } else { 
                
$varstat "Error al subir el archivo"
            } 
        } else { 
            
$varstat "Archivo no valido"
        } 
    } 

?>
Las imagenes permitidas son gif jpeg y png.
La carpeta es tmp lo puedes cambiar en "Copy".
Lo máximo son 1 MB.
Para que funcione tienes que poner la tercera linea de tu formulario así:
Código HTML:
<input type="submit" value="Enviar" name="action"> 
  #11 (permalink)  
Antiguo 02/09/2007, 12:38
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 854
Antigüedad: 17 años
Puntos: 6
Re: Crear UPLOAD de imagenes

No me funciona! Miren me quedo asi:

Formulario:
Código HTML:
<form action="upload.php" method="post" enctype="multipart/form-data">
<span class="estilo">Seleccione el archivo:</span>
<input type="file" name="foto"><br>
<input type="submit" value="Enviar" name="action">
</form> 
upload.php
Código PHP:
<?php  
$varrand 
substr(md5(uniqid(rand())),0,5);         
$varallw = array("image/gif","image/jpeg","image/png","image/x-png"); 
$varpath "/public_html/hotimg/img/"
$varstat ""

if (
$_POST["action"] == "Enviar") { 
    if (
is_uploaded_file($_FILES["archivo"]["tmp_name"])) { 
        
$varname $_FILES["archivo"]['name']; 
        
$vartemp $_FILES["archivo"]['tmp_name']; 
        
$vartype $_FILES["archivo"]['type']; 
         
        if ((
$_FILES["archivo"]['size']/1024) > 1024) {
        if (
in_array($vartype$varallw) && $varname != "") { 
            
$varname $varrand.".".$varname
            if (
copy($vartemp"/public_html/hotimg/img/".$varname)) { 
                
$varpath $varpath.$varname

                
$varstat "ok"
            } else { 
                
$varstat "Error al subir el archivo"
            } 
        } else { 
            
$varstat "Archivo no valido"
        } 
    } 

?>
Donde ta el error
  #12 (permalink)  
Antiguo 02/09/2007, 15:25
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Crear UPLOAD de imagenes

Seguramente tengas mal la ruta...
Código PHP:
if (copy($vartemp"/public_html/hotimg/img/".$varname)) { 
La ruta tiene que ser absoluta desde el root, no desde donde esta public_html.
Podes averiguar la ruta completa de un archivo haciendo
Código PHP:
echo __FILE__ 
Que te muestra la ruta absoluta completa hasta ese archivo y hay averiguar la ruta del servidor.
  #13 (permalink)  
Antiguo 02/09/2007, 15:35
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Crear UPLOAD de imagenes

Código HTML:
<input type="file" name="foto"><br> 
y sin embargo llamas asi:
Código PHP:
$_FILES["archivo"
das con el error?

Un saludo,
  #14 (permalink)  
Antiguo 02/09/2007, 17:38
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 854
Antigüedad: 17 años
Puntos: 6
Re: Crear UPLOAD de imagenes

No todabia no me anda tengo unas dudas:

Donde dise ["archivo"] que lo dise varias veces lo tengo que cambiar por ["foto"] segun el formulario verdad?

Otra duda es si en la accion php el codigo deve ser

Código PHP:
<html>
<head>
</head>
<body>
<?php
accion
?>
</body>
</htm>

o


Código PHP:
<?php
accion
?>

Por que yo lo tengo de la segunda manera

Y otra duda es la carpeta del directorio
yo al formulario y a la accion la tengo dentro una una carpeta llamada hotimg y dentro de esa carpeta hay otra llamada img donde alli quiero que se guarden las imagenes. Todo esto esta claro dentro de public_html

La ruta como la devo poner?

/public_html/hotimg/img/

o

img/ ??


o como?



Y la ultima duda que devo poner en la variable
$varpath = "/public_html/hotimg/img/";

ta bien lo que puse?
  #15 (permalink)  
Antiguo 02/09/2007, 17:47
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 854
Antigüedad: 17 años
Puntos: 6
Re: Crear UPLOAD de imagenes

Miren me salta este error cuendo ejecuto

Parse error: syntax error, unexpected $end in /home/manumaf/domains/libertinaje-habbo.net/public_html/hotimg/upload.php on line 39


La linea 39 es la ultima linea del codigo ?> o tambein e provado poniendo todo el cidigo html y me salta el mismo error y la linea 39 es </html>
  #16 (permalink)  
Antiguo 02/09/2007, 19:37
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Crear UPLOAD de imagenes

Ese error significa que estas dejando una llave abierta de mas.

De paso, fijate que la ruta completa es /home/manumaf/...
  #17 (permalink)  
Antiguo 03/09/2007, 08:23
 
Fecha de Ingreso: agosto-2007
Mensajes: 11
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Crear UPLOAD de imagenes

Aquí te dejo el script bien escrito:
Código PHP:
<?php   
$varrand 
substr(md5(uniqid(rand())),0,5);          
$varallw = array("image/gif","image/jpeg","image/png","image/x-png");  
$varpath "Tu dominio/carpeta"//sirve para mostrar donde está alojada la imagen 
$varstat "";  

if (
$_POST["action"] == "Enviar") {  
    if (
is_uploaded_file($_FILES["foto"]["tmp_name"])) {  
        
$varname $_FILES["foto"]['name'];  
        
$vartemp $_FILES["foto"]['tmp_name'];  
        
$vartype $_FILES["foto"]['type'];  
          
        if ((
$_FILES["archivo"]['size']/1024) > 1024) { 
        } else {  
               echo 
"Archivo muy grande";
        if (
in_array($vartype$varallw) && $varname != "") {  
            
$varname $varrand.".".$varname;  
            if (
copy($vartemp"img/".$varname)) {  
                
$varpath $varpath.$varname;  

                
$varstat "ok";  
            } else {  
                echo 
"Error al subir el archivo";  
            }  
        } else {  
            echo 
"Archivo no valido"
            } 
        }  
    }  
}  
?>
Y aquí el formulario:
Código HTML:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="foto"><br>
<input type="submit" value="Enviar" name="action">
</form> 
Lo guardas todo en un mismo archivo llamado upload.php y ya está
Debes de tener creada una carpeta "img" con CHMOD 777
  #18 (permalink)  
Antiguo 05/09/2007, 08:35
Avatar de manumaf  
Fecha de Ingreso: mayo-2007
Ubicación: Argentina
Mensajes: 854
Antigüedad: 17 años
Puntos: 6
Re: Crear UPLOAD de imagenes

Y en $varstat = ""; que va?
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:22.