Foros del Web » Programando para Internet » PHP »

subir fotos con php

Estas en el tema de subir fotos con php en el foro de PHP en Foros del Web. Hola, antetodo decir que soy nuevo, asi que perdonar si el problema que espongo ya esta resuelto en algun foro, pero e estado mirando y ...
  #1 (permalink)  
Antiguo 19/04/2008, 12:09
 
Fecha de Ingreso: abril-2008
Mensajes: 72
Antigüedad: 16 años
Puntos: 0
subir fotos con php

Hola, antetodo decir que soy nuevo, asi que perdonar si el problema que espongo ya esta resuelto en algun foro, pero e estado mirando y no lo veo , seguro que lo pase por alto ya que hay cientos

tengo el siguiente problema:
quiero subir fotos a mi servidor (evidalia) desde php estoy usando mogollon de ejemplo que e encontrado aqui y ninguno funciona como por ejemplo este

pagina en htm que tiene el formulario

Código HTML:
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form action="pruebafoto2.php" method="post" enctype="multipart/form-data"> 
    <b>Campo de tipo texto:</b> 
    <br> 
    <input type="text" name="cadenatexto" size="20" maxlength="100"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="1000"> 
    <br> 
    <br> 
    <b>Enviar un nuevo archivo: </b> 
    <br> 
    <input name="userfile" type="file"> 
    <br> 
    <input type="submit" value="Enviar"> 
</form> 

</body>
</html> 

hasta aqui bien
ahora el script php que lo recoje en el archivo pruebafoto2.php

Código PHP:
<? 
//tomo el valor de un elemento de tipo texto del formulario 
$cadenatexto $_POST["cadenatexto"]; 
echo 
"Escribió en el campo de texto: " $cadenatexto "<br><br>"

//datos del arhivo 
$nombre_archivo $HTTP_POST_FILES['userfile']['name']; 
$tipo_archivo $HTTP_POST_FILES['userfile']['type']; 
$tamano_archivo $HTTP_POST_FILES['userfile']['size']; 
//compruebo si las características del archivo son las que deseo 
if (!((strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg")) && ($tamano_archivo 10000000))) { 
    echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li></td></tr></table>"
}else{ 
    if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){ 
       echo 
"El archivo ha sido cargado correctamente."
    }else{ 
       echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse."
    } 

?>
el caso es que ni me sube ningun tipo de archivos, de ningun tamaño ( e probado con muchos) y siempre el mensaje es el mismo

Se permiten archivos .gif o .jpg
se permiten archivos de 1000 Kb máximo.

creo que tiene que ver con la configuracion de mi phpmyadmin en el servidor
y con la carpeta temporal que recoje el archivo

pero no se configurar el config.inc.php

o no se a que carpeta van los temporales

e configurado esta linea en config.php

* Directory where phpMyAdmin can save temporary files.
* This is needed for MS Excel export, see documentation how to enable that.
*
* @global string $cfg['TempDir']
*/
$cfg['TempDir'] = './tmp ';

y e creado un directorio en httpdocs con el mismo nombre y le e dado el poder de escritura para todos

mundotronic.com/httpdocs/tmp
se supone que alli iran los archivos que se quieren subir
pero no funciona

pido ayuda ya que llevo mucho atascado con esto tan sencillo y no puedo continuar con mi proyecto
gracias
  #2 (permalink)  
Antiguo 19/04/2008, 12:28
 
Fecha de Ingreso: octubre-2007
Ubicación: Berlin
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 1
Re: subir fotos con php

mira esto funciona....

Código HTML:
<form enctype="multipart/form-data" action="upload.php" method="post">
         
           <p align="left">Seleccionar archivo: 
           <input name="archivo_usuario" type="file"> <br>
           <input name="submit" type="submit" value="Subir archivo" />
            </p>
     
</form> 
el upload.php
Código PHP:
<?php
$directorio 
$_SERVER['DOCUMENT_ROOT'].'sitioweb/archivos/';

if (
move_uploaded_file($_FILES['archivo_usuario']['tmp_name'], $directorio $_FILES['archivo_usuario']['name']))
{
    print 
"El archivo fue subido con éxito.";
}
else
{
    print 
"Error al intentar subir el archivo.";
}

?>

es muy sencillo y hace lo que necesitas.. subir ficheros (fotos o lo que sea)

ya si quieres controlar mas cosas pues tendras que mejorar el codigo del upload poniendo lo del tamaño y cosas de esas..

mira este info te puede ser util..

http://es.php.net/features.file-upload


espero que te haya servido de ayuda...

dew
  #3 (permalink)  
Antiguo 19/04/2008, 12:47
 
Fecha de Ingreso: abril-2008
Mensajes: 72
Antigüedad: 16 años
Puntos: 0
Re: subir fotos con php

voy a probarlo
gracias por la rapida contestacion
  #4 (permalink)  
Antiguo 19/04/2008, 13:09
 
Fecha de Ingreso: abril-2008
Mensajes: 72
Antigüedad: 16 años
Puntos: 0
Re: subir fotos con php

nada no funciona, me dice
Error al intentar subir el archivo.
e cambiado el destino de la fila
$directorio = $_SERVER['DOCUMENT_ROOT'].'sitioweb/archivos/';
por este otro
$directorio = $_SERVER['DOCUMENT_ROOT'].'mundotronic.com/httpdocs/tmp';

lo mismo tengo que poner http:// antes que el sitio web
  #5 (permalink)  
Antiguo 19/04/2008, 13:13
 
Fecha de Ingreso: octubre-2007
Ubicación: Berlin
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 1
Re: subir fotos con php

jejej creo que la has liado. jajaja y yo no te lo explique.. :P jajaj


sitioweb no es tu sitio... es el nombre que le puse a mi carpeta. ajajjajaj debes poner la ruta en la que se guardaran las fotos... $server['DOCUMENT_ROOT'] seria como el "/" la raiz de tu servidor....

asi que si fijate donde vas a poner las fotos :P
  #6 (permalink)  
Antiguo 19/04/2008, 13:29
 
Fecha de Ingreso: abril-2008
Mensajes: 72
Antigüedad: 16 años
Puntos: 0
Re: subir fotos con php

jajjaja
pos ahora lo entiendo menos
e cambiado otra vez esa linea
$directorio = $_SERVER['DOCUMENT_ROOT'].'tmp';
si 'DOCUMENT_ROOT'= raiz del sitio/
entonces 'DOCUMENT_ROOT'].'tmp' = raizdel sitio/tmp

esto ya seria la posicion correcta de mi carpta temporal
pero no sube nada
ni siquiera lo sube a la tenporal
  #7 (permalink)  
Antiguo 19/04/2008, 19:00
 
Fecha de Ingreso: abril-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Re: subir fotos con php

reviza que la carpeta donde estas ingresando las imagenes tenga permisos (777)
  #8 (permalink)  
Antiguo 19/04/2008, 19:11
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Re: subir fotos con php

Hola, hay una clase excelente para subir toda clase de archivos al servidor, y si son imagenes las puedes manipular, redimensionar, cambiar color, etc.

http://www.forosdelweb.com/f18/aport...upload-560282/

Es muy simple de usar, mirala y pones aca cualquier duda, de verdad es muy simple, puedes ver los ejemplos que trae la clase.

Aca te pongo un ejemplo de uso, muy simple.

Primero descargas la clase, y la guardas en un directorio, por ejemplo Clases.

Ejemplo:
Código PHP:
require_once "clases/class.upload.php"//Incluyes la clase

$imagen = new upload ($_FILES['archivo_usuario']);

if (
$imagen->uploaded){
    
$imagen->process('nombredeldirectorio/');
    
$foto 'nombredeldirectorio/'$imagen->file_dst_name;
}

if (
$imagen->processed) {
 echo 
"Subio bien";
}

else {
 echo 
"fallo la subida";

Eso es todo. Bastante simple. Incluso puedes usar este ejemplo y solo modificar lo que necesites.

Nota: En la variable $foto te quedará la ruta a l imagen que acabas de subir.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #9 (permalink)  
Antiguo 20/04/2008, 03:00
Avatar de EnCeRiO  
Fecha de Ingreso: septiembre-2004
Mensajes: 375
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: subir fotos con php

Cita:
Iniciado por lucasan Ver Mensaje
Hola, hay una clase excelente para subir toda clase de archivos al servidor, y si son imagenes las puedes manipular, redimensionar, cambiar color, etc.

http://www.forosdelweb.com/f18/aport...upload-560282/

Es muy simple de usar, mirala y pones aca cualquier duda, de verdad es muy simple, puedes ver los ejemplos que trae la clase.

Aca te pongo un ejemplo de uso, muy simple.

Primero descargas la clase, y la guardas en un directorio, por ejemplo Clases.

Ejemplo:
Código PHP:
require_once "clases/class.upload.php"//Incluyes la clase

$imagen = new upload ($_FILES['archivo_usuario']);

if (
$imagen->uploaded){
    
$imagen->process('nombredeldirectorio/');
    
$foto 'nombredeldirectorio/'$imagen->file_dst_name;
}

if (
$imagen->processed) {
 echo 
"Subio bien";
}

else {
 echo 
"fallo la subida";

Eso es todo. Bastante simple. Incluso puedes usar este ejemplo y solo modificar lo que necesites.

Nota: En la variable $foto te quedará la ruta a l imagen que acabas de subir.
Hola, gracias a esto ya he conseguido subir (solo probado en localhost) cualquier archivo al servidor

Que deberia modificar para que cuando suba una imagen se redimensione a 800x600 y crear la imagen pequeña a 200x150 por ejemplo?? Y como sería para mostrar todas las imágenes pequeñas con el link hacia la grande??

Gracias
Saludos
__________________
Médicos Sin Fronteras
Casi todos sabemos a qué se dedican, pero no sabemos lo fácil que es hacerse socio, ¿te sobran 10 €/mes?
  #10 (permalink)  
Antiguo 20/04/2008, 04:01
 
Fecha de Ingreso: abril-2008
Mensajes: 72
Antigüedad: 16 años
Puntos: 0
Re: subir fotos con php

BIENNNNNNNNNNN por fin e conseguido hacer subir los archivos
gracias lucasan por ese pequeño aporte, ya estaba apunto de desistir

ahora ya tengo mas trabajo, en pulir los resultados
si me surge alguna duda ya lo pondre
gracias a todos
  #11 (permalink)  
Antiguo 20/04/2008, 10:20
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Re: subir fotos con php

En los ejemplos que trae la clase dice como hacer para modificar la imagen.

Leelos y si hay alguna duda en concreto la haces aca.

Por ejemplo, para redimensionar se usa

Código PHP:
$image->image_resize true;
$image->image_x 100;
$image->image_ratio_y true
En la documentación de la clase están descritas todas las posibilidades, solo es cuestión de leer.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #12 (permalink)  
Antiguo 20/04/2008, 11:12
 
Fecha de Ingreso: abril-2008
Mensajes: 72
Antigüedad: 16 años
Puntos: 0
Re: subir fotos con php

estoy en ello
pero donde debo de poner estas nuevas lineas?
  #13 (permalink)  
Antiguo 20/04/2008, 11:14
 
Fecha de Ingreso: abril-2008
Mensajes: 72
Antigüedad: 16 años
Puntos: 0
Re: subir fotos con php

mejor aun, tienes algun ejemplo que lo muestre? estoy intentando realizar ademas de el redimensionado de la imagen, una marca de agua con un archivo png que ya tengo para firmar las imagenes
  #14 (permalink)  
Antiguo 20/04/2008, 13:41
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Re: subir fotos con php

Como te dije arriba, la clase viene con sus ejemplos, muy buenos por cierto.

Un ejemplo mio es este, pero como te digo, los de la lcase son mejores (los ejemplos)

Código PHP:
$imagen = new upload($_FILES['imagen']);
//Empiezo a manipular la imagen antes de subirla al server.
$imagen->file_max_size '200000'// permito solo imagenes de 200KB maximo    
$imagen->image_resize true;
$imagen->image_ratio_pixels 9216//La redimensiono a 96x96 pixeles aprox

if ($imagen->uploaded){
    
$imagen->process('fotosperfiles/');
    
$foto 'fotosperfiles/'$imagen->file_dst_name//ruta a la imagen si el usuario la subio
}
else {
    
$foto 'fotosperfiles/default.jpg'//imagen por defecto si el usuario no usa una propia

Lo usé para la imagen de perfil de un usuario en una web que estoy haciendo.

Espero te aclare un poco el panorama.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #15 (permalink)  
Antiguo 20/04/2008, 16:46
 
Fecha de Ingreso: abril-2008
Mensajes: 72
Antigüedad: 16 años
Puntos: 0
Re: subir fotos con php

Gracias, ya consegui manipular las imagenes pero me as dado sin saberlo otra respuesta que buscaba, la de colocar una foto si el usuario no sube una jejeje eres un crack
en cuanto tenga algo presentable lo publico por aqui con sus respectivos scripts
:P
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 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 01:00.