Foros del Web » Programando para Internet » PHP »

subir fotos a una carpeta mediante un formulario.

Estas en el tema de subir fotos a una carpeta mediante un formulario. en el foro de PHP en Foros del Web. Hola, me pueden alludar es urgente, Hola necesito saber como puedo hacer un formulario donde pueda subir jps a una carpeta especifica? es urgente please ...
  #1 (permalink)  
Antiguo 19/03/2005, 18:21
 
Fecha de Ingreso: marzo-2005
Mensajes: 36
Antigüedad: 19 años
Puntos: 0
Busqueda subir fotos a una carpeta mediante un formulario.

Hola, me pueden alludar es urgente, Hola necesito saber como puedo hacer un formulario donde pueda subir jps a una carpeta especifica?
es urgente please necesito auda.

Gracias.
  #2 (permalink)  
Antiguo 19/03/2005, 19:09
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 20 años, 2 meses
Puntos: 2
Para subir una imágen y almacenarla en MYSQL, lo mejor que puedes hacer es un formulario:

<form enctype="multipart/form-data" action="guardar.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
TITULO: <input type="text" name="nov_titulo">
CONTENIDO: <input type="text" name="nov_texto">
SUBIR ESTA IMAGEN: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>

Presta atención a "enctype=...", esto te permite enviar archivos mediante el method, en este caso POST, el action es guardar.php, en este script pondremos lo sig:

<?
require "config-inc.php";
//nombre de usuario de la base de datos, password, etc.
?>
<?php
$dbconexion = mysql_connect($dbconfig["localhost"],$dbconfig["user"],$dbconfig["password"]) or die("no se puede establecer una conexión con la Base de Datos, por favor vuelva a intentarlo dentro de algunos minutos. <a href=\"javascript:history.go(-1);\" class=\"navegador\">volver</a>") or die(mysql_error());
mysql_select_db($dbconfig[db]) or die(mysql_error());
?>
//conexión con la BD (Base de Datos) y selección de la misma (mysql_select_db)
<?
if (isset($_POST['nov_titulo'])){$nov_titulo = $_POST['nov_titulo'];}
if (isset($_POST['nov_texto'])){$nov_texto = $_POST['nov_texto'];}
?>
//chequeo del POST (formulario)
<?php
$unique = time();
$uploaddir = $_SERVER['DOCUMENT_ROOT'].'/patch/carpeta/uploads/'.$unique;
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
$uploadcheck = $uploadfile;

//la variable unique es la hora actual en formato unix, esto solamente lo uso para evitar que dos imágenes tengan el mismo nombre, uploadfile toma en SERVER[DOCUMENT_ROOT] el patch del servidor (en windows por ej. c:\apache\www), con el punto (.) la agregamos el patch donde queremos que nos guarde las imágenes y le agregamos la fecha. En uploadfile le agregamos el nombre de la imágen. Uploadcheck es para chequear lo siguiente:

if(empty($_FILES['userfile']['name'])){
$uploadfile = "";}

//con esto evitamos que en la base de datos nos guarde, en caso de que no se halla subido una imagen en el formulario, el patch solo, por ej. (c:\apache\www\patch\carpeta\uploads\$unique).

$update = mysql_db_query("$dbconfig[db]","INSERT INTO $dbtable[novedades] (nov_img, nov_titulo, nov_texto, nov_fecha) VALUES ('$uploadfile', '$nov_titulo', '$nov_texto', CURRENT_DATE)") or die(mysql_error());

//aquí insertamos en la DB los datos, nada raro, solo el CURRENT_DATE que utilizamos para ingresar la fecha actual en el campo nov_fecha de la DB, no tiene nada que ver con tu pregunta, pero ya que yo la utilizo, la deje por si alguna vez te sirve.

$borrarID = mysql_db_query("$dbconfig[db]","ALTER TABLE $dbtable[novedades] DROP id") or die(mysql_error());
$alterar= mysql_db_query("$dbconfig[db]","ALTER TABLE $dbtable[novedades] ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (id)") or die(mysql_error());

print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print "El archivo fue subido con éxito";
print "Información del archivo:";
print_r($_FILES);
} else {
print "El archivo no se pudo subir, información:\n";
print_r($_FILES);
}
print "</pre>";
?>
El lugar de print, puedes usar echo, esto lo escribi hace tiempo y ahora no lo encuentro en el foro
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #3 (permalink)  
Antiguo 20/03/2005, 20:03
 
Fecha de Ingreso: marzo-2005
Mensajes: 36
Antigüedad: 19 años
Puntos: 0
sabes que no me conecta al data base...
y sabes yo quiero ver si es posible si tu o otra persona sepa como hacer que la imagen tenga un nombre definido por mi... ya que es para un client que le hice un foto gallery en flash y necesito que la foto se llame de un nombre en especial osea numeros en ascendencia.
  #4 (permalink)  
Antiguo 20/03/2005, 22:24
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 20 años, 2 meses
Puntos: 2
en el archivo require(config-inc.php), q lo mejor sería poner include(config-inc.php)
debes poner algo así
$dbconfig["localhost"] = "localhost";
$dbconfig["user"] = "tunombredeusuario";
$dbconfig["password"] = "tucontraseña";
$dbconfig["db"] = "nombredelabasededatos";
para renombrar los archivos PHP tiene a rename:

<?php
rename("mifoto.jpg", "20050322.jpg");
?>
__________________
Dios dira que esto no es justo, pero lo sera...
  #5 (permalink)  
Antiguo 21/03/2005, 01:33
 
Fecha de Ingreso: marzo-2005
Mensajes: 36
Antigüedad: 19 años
Puntos: 0
Gracias

muchas gracias, ahora si me resulto.
  #6 (permalink)  
Antiguo 20/04/2005, 15:14
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 220
Antigüedad: 19 años
Puntos: 0
sebtev.. como podria hacer para subir el archivo directamente a un folder del server

Lei tu post y me parecio muy interesante, lo que yo estoy tratando por todos los medios de estudiar como puedo hacer es una aplicación muy similar a la que aqui presentas, pero en ves de subir arvichos a una db, quiero depositarlos en un folder del servidor.
En si mi idea es poder subir archivos para compartir con amigos en mi web sin necesidad de usar un cliente ftp para ello.
Simplemente necesito algo que me permita localizar el archivo de interes y de ahi en mas, subirlo directamente al folder de mi interes, para que luego, mis amigos puedan descargarlo de ahi (lo unico que puedo mencionar es que el acceso al folder lo tengo protegido por contraseña desde el cpanel)

Podrias darme una mano? estoy muy interesado en esta aplicacion y con cada una que veo voy aprendiendo un paso mas..

Saludos !


---------------------
Cita:
Iniciado por sebtev
Para subir una imágen y almacenarla en MYSQL, lo mejor que puedes hacer es un formulario:

<form enctype="multipart/form-data" action="guardar.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
TITULO: <input type="text" name="nov_titulo">
CONTENIDO: <input type="text" name="nov_texto">
SUBIR ESTA IMAGEN: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>

Presta atención a "enctype=...", esto te permite enviar archivos mediante el method, en este caso POST, el action es guardar.php, en este script pondremos lo sig:

<?
require "config-inc.php";
//nombre de usuario de la base de datos, password, etc.
?>
<?php
$dbconexion = mysql_connect($dbconfig["localhost"],$dbconfig["user"],$dbconfig["password"]) or die("no se puede establecer una conexión con la Base de Datos, por favor vuelva a intentarlo dentro de algunos minutos. <a href=\"javascript:history.go(-1);\" class=\"navegador\">volver</a>") or die(mysql_error());
mysql_select_db($dbconfig[db]) or die(mysql_error());
?>
//conexión con la BD (Base de Datos) y selección de la misma (mysql_select_db)
<?
if (isset($_POST['nov_titulo'])){$nov_titulo = $_POST['nov_titulo'];}
if (isset($_POST['nov_texto'])){$nov_texto = $_POST['nov_texto'];}
?>
//chequeo del POST (formulario)
<?php
$unique = time();
$uploaddir = $_SERVER['DOCUMENT_ROOT'].'/patch/carpeta/uploads/'.$unique;
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
$uploadcheck = $uploadfile;

//la variable unique es la hora actual en formato unix, esto solamente lo uso para evitar que dos imágenes tengan el mismo nombre, uploadfile toma en SERVER[DOCUMENT_ROOT] el patch del servidor (en windows por ej. c:\apache\www), con el punto (.) la agregamos el patch donde queremos que nos guarde las imágenes y le agregamos la fecha. En uploadfile le agregamos el nombre de la imágen. Uploadcheck es para chequear lo siguiente:

if(empty($_FILES['userfile']['name'])){
$uploadfile = "";}

//con esto evitamos que en la base de datos nos guarde, en caso de que no se halla subido una imagen en el formulario, el patch solo, por ej. (c:\apache\www\patch\carpeta\uploads\$unique).

$update = mysql_db_query("$dbconfig[db]","INSERT INTO $dbtable[novedades] (nov_img, nov_titulo, nov_texto, nov_fecha) VALUES ('$uploadfile', '$nov_titulo', '$nov_texto', CURRENT_DATE)") or die(mysql_error());

//aquí insertamos en la DB los datos, nada raro, solo el CURRENT_DATE que utilizamos para ingresar la fecha actual en el campo nov_fecha de la DB, no tiene nada que ver con tu pregunta, pero ya que yo la utilizo, la deje por si alguna vez te sirve.

$borrarID = mysql_db_query("$dbconfig[db]","ALTER TABLE $dbtable[novedades] DROP id") or die(mysql_error());
$alterar= mysql_db_query("$dbconfig[db]","ALTER TABLE $dbtable[novedades] ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (id)") or die(mysql_error());

print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print "El archivo fue subido con éxito";
print "Información del archivo:";
print_r($_FILES);
} else {
print "El archivo no se pudo subir, información:\n";
print_r($_FILES);
}
print "</pre>";
?>
El lugar de print, puedes usar echo, esto lo escribi hace tiempo y ahora no lo encuentro en el foro
Saludos cuidate
__________________
Aprender trae dolores de cabeza...Enseñar, satisfacción :pensando:
  #7 (permalink)  
Antiguo 20/04/2005, 17:14
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 20 años, 2 meses
Puntos: 2
Pues en realidad ese script solo guarda el path en la DB, es decir q te funcionaría perfecto, solo lo deberías de implementar con tu sistema de autenficación y actualizarlo un poco (echo en lugar de print), y algunos detalles como examinar primero el tipo de archivo q "tus amigos" están subiendo para evitar lo q no quieran q suban, pero debe de funcionar.
Busca en el foro q hay más e incluso hay un script q redimensiona las imágenes automáticamente con usando nada más q la librerías GD de PHP.
Si es q tus amigos van a subir fotos... empezalo vos, dedicate tu tiempo... después avanzamos

Código HTML:
<form enctype="multipart/form-data" action="guardar.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
TITULO: <input type="text" name="nov_titulo">
CONTENIDO: <input type="text" name="nov_texto">
SUBIR ESTA IMAGEN: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
Presta atención a "enctype=...", esto te permite enviar archivos mediante el method, en este caso POST, el action es guardar.php, en este script pondremos lo sig:
Código PHP:
<?
require "config-inc.php";
//nombre de usuario de la base de datos, password, etc.
?>
Código PHP:
<?php
$dbconexion 
mysql_connect($dbconfig["localhost"],$dbconfig["user"],$dbconfig["password"]) or die("no se puede establecer una conexión con la Base de Datos, por favor vuelva a intentarlo dentro de algunos minutos. <a href=\"javascript:history.go(-1);\" class=\"navegador\">volver</a>") or die(mysql_error());
mysql_select_db($dbconfig[db]) or die(mysql_error());
//conexión con la BD (Base de Datos) y selección de la misma (mysql_select_db)
?>
Código PHP:
<?
if (isset($_POST['nov_titulo'])){$nov_titulo $_POST['nov_titulo'];}
if (isset(
$_POST['nov_texto'])){$nov_texto $_POST['nov_texto'];}
?>//chequeo del POST (formulario)
Código PHP:
<?php
$unique 
time();
$uploaddir $_SERVER['DOCUMENT_ROOT'].'/patch/carpeta/uploads/'.$unique;
$uploadfile $uploaddir $_FILES['userfile']['name'];
$uploadcheck $uploadfile;

//la variable unique es la hora actual en formato unix, esto solamente lo uso para evitar que dos imágenes tengan el mismo nombre, uploadfile toma en SERVER[DOCUMENT_ROOT] el patch del servidor (en windows por ej. c:\apache\www), con el punto (.) la agregamos el patch donde queremos que nos guarde las imágenes y le agregamos la fecha. En uploadfile le agregamos el nombre de la imágen. Uploadcheck es para chequear lo siguiente:

if(empty($_FILES['userfile']['name'])){
$uploadfile "";}

//con esto evitamos que en la base de datos nos guarde, en caso de que no se halla subido una imagen en el formulario, el patch solo, por ej. (c:\apache\www\patch\carpeta\uploads\$unique).

$update mysql_db_query("$dbconfig[db]","INSERT INTO $dbtable[novedades] (nov_img, nov_titulo, nov_texto, nov_fecha) VALUES ('$uploadfile', '$nov_titulo', '$nov_texto', CURRENT_DATE)") or die(mysql_error());

//aquí insertamos en la DB los datos, nada raro, solo el CURRENT_DATE que utilizamos para ingresar la fecha actual en el campo nov_fecha de la DB, no tiene nada que ver con tu pregunta, pero ya que yo la utilizo, la deje por si alguna vez te sirve.

$borrarID mysql_db_query("$dbconfig[db]","ALTER TABLE $dbtable[novedades] DROP id") or die(mysql_error());
$alterarmysql_db_query("$dbconfig[db]","ALTER TABLE $dbtable[novedades] ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (id)") or die(mysql_error());

print 
"<pre>";
if (
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print 
"El archivo fue subido con éxito";
print 
"Información del archivo:";
print_r($_FILES);
} else {
print 
"El archivo no se pudo subir, información:\n";
print_r($_FILES);
}
print 
"</pre>";
?>
Te clarifico un poco el código para q lo entiendas mejor
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #8 (permalink)  
Antiguo 13/06/2005, 10:32
 
Fecha de Ingreso: febrero-2005
Mensajes: 976
Antigüedad: 19 años
Puntos: 2
mostrar imagenes en una pagina php

hola a todos/todas
mi nombre es juan carlos, queria preguntaros donde podria encontrar un ejemplo de script de mostrar imagenes en una pagina php, las imagenes se almacenarian en una base de datos mysql, y la pagina php haria la consulta en la base de datos y mostraria las imagenes en dicha pagina, estoy buscando algun ejemplo para ver como se haria, si alguien me pudiera ayudar, os lo agradeceria mucho, o si sabeis de algun sitio donde pudiera ver ese ejemplo que quiero hacer.


muchas gracias a todos/As
y un saludo cordial

juan carlos
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 20:12.