Galería de imagenes

Hola, me gustaria crear una Galería de imagenes Parecida a Tuenti o Facebook. Ya tengo creada La galeria: http://humor.atwebpages.com/prueba1.html, ahora mi problema, es como la gente puede subir imagenes desde su ordenador y que se ubiquen en esa galería.
No se si me he explicado bien. Os dejo el codigo de la galería fotográfica:


<table border="0" cellpadding="0">
<caption>Galería Fotografica</caption>
<tr>
<td width="100%">[contenido no disponible]</td>
</tr>
<tr>
<td width="100%"><form method="POST" name="rotater">
<div align="center"><center>

<script language="JavaScript1.1">
var photos=new Array()
var which=0

/*Change the below variables to reference your own images. You may have as many images in the slider as you wish*/
photos[0]="plane1.gif"
photos[1]="plane2.gif"
photos[2]="plane3.gif"
photos[3]="plane4.gif"
photos[4]="plane5.gif"


function backward(){
if (which>0){
window.status=''
which--
document.images.photoslider.src=photos
}
}

function forward(){
if (which<photos.length-1){
which++
document.images.photoslider.src=photos
}
else window.status='Final de la Galería'
}
</script><input type="button" value="&lt;&lt;Anterior" name="B2"
onClick="backward()"> <input type="button" value="Siguiente&gt;&gt;" name="B1"
onClick="forward()">

Comenzar de nuevo</p>
</center></div>
</form>
</td>
</tr>
</table>



Los campos puestos en rojo es lo que hay que cambiar para que salga la imagen.


Por si sería necesario, tambien tengo lo de subir imagenes: http://humor.atwebpages.com/imagehosting.php


Gracias
se llamara subir.php
<?php
$FTP_User = "aqui tu usuario ftp";
$FTP_Pass = "aqui tu contraseña ftp";
$FTP_Host = "aqui el host que te asigno tu hosting";
$FTP_Root = "/aqui la direccion de la carpeta donde quieres que se suba";
if ($_POST['Submit'] != "") {
$Connect = @ftp_connect($FTP_Host);
ftp_login($Connect, $FTP_User, $FTP_Pass);
$nombre_archivo = $FTP_Root . $_FILES['archivo_1']['name'];
$Local_Resource = $_FILES['archivo_1']['tmp_name'];
if (ftp_put($Connect, $nombre_archivo, $Local_Resource, FTP_BINARY)) {
echo "Archivo subido al servidor correctamente: $nombre_archivo
";
}
else
{
echo "Se ha detectado un error al subir el archivo: $nombre_archivo
";
}
}
echo '<form action="subir.php" method="POST" enctype="multipart/form-data">
<input name="archivo_1" type="file">
<input type="Submit" name="Submit" value="Subir Archivo">
</form>';
?>
Gracias, pero unas cositas:

1- Me da error al subirlo en:

ftp_login($Connect, $FTP_User, $FTP_Pass);

if (ftp_put($Connect, $nombre_archivo, $Local_Resource, FTP_BINARY)) {


me pone:
Warning: ftp_login() [function.ftp-login]: Sorry, you are already logged in in /home/www/humor.atwebpages.com/subir.php on line 20

Warning: ftp_put() [function.ftp-put]: Sorry, you are already logged in in /home/www/humor.atwebpages.com/subir.php on line 23
Se ha detectado un error al subir el archivo: /imagenes1prueba1.jpg


2- Otra cosita, de ahy las subo a esa carpeta, pero de esa carpeta como puedo hacer para que valla sola la imagen hasta la galería?
en la linea donde dice

ftp_root es donde tienes que poner a donde se va a subir la imagen

y lo otro pusiste mal alguna direccion o contraseña revisalo bien y ponlo :wink:
Te enseño el codigo que he puesto y me corrijes por favor:


<?php
$FTP_User = "1894**";
$FTP_Pass = "********";
$FTP_Host = "humor.atwebpages.com";
$FTP_Root = "/imagenes1";
if ($_POST['Submit'] != "") {
$Connect = @ftp_connect($FTP_Host);
ftp_login($Connect, $FTP_User, $FTP_Pass);
$nombre_archivo = $FTP_Root . $_FILES['archivo_1']['name'];
$Local_Resource = $_FILES['archivo_1']['tmp_name'];
if (ftp_put($Connect, $nombre_archivo, $Local_Resource, FTP_BINARY)) {
echo "Archivo subido al servidor correctamente: $nombre_archivo
";
}
else
{
echo "Se ha detectado un error al subir el archivo: $nombre_archivo
";
}
}
echo '<form action="subir.php" method="POST" enctype="multipart/form-data">
<input name="archivo_1" type="file">
<input type="Submit" name="Submit" value="Subir Archivo">
</form>';
?>



Lo que no estoy seguro es si tengo que poner en el nombre de usuario por ejemplo: Jorge_18..... o solo el 18...
si esta bien pero en el nombre de usuario pon el que te dieron completito o si no no funciona
Mi duda sigue estando, las lineas que me dan error son:


<?php
$FTP_User = "1894**";
$FTP_Pass = "********";
$FTP_Host = "humor.atwebpages.com";
$FTP_Root = "imagenes1/";
if ($_POST['Submit'] != "") {
$Connect = @ftp_connect($FTP_Host);
ftp_login($Connect, $FTP_User, $FTP_Pass);
$nombre_archivo = $FTP_Root . $_FILES['archivo_1']['name'];
$Local_Resource = $_FILES['archivo_1']['tmp_name'];
if (ftp_put($Connect, $nombre_archivo, $Local_Resource, FTP_BINARY)) {
echo "Archivo subido al servidor correctamente: $nombre_archivo
";
}
else
{
echo "Se ha detectado un error al subir el archivo: $nombre_archivo
";
}
}
echo '<form action="subir.php" method="POST" enctype="multipart/form-data">
<input name="archivo_1" type="file">
<input type="Submit" name="Submit" value="Subir Archivo">
</form>';
?>


otra pregunta, Tengo que poner los datos del ftp o de la base de datos

Tambien te pongo una imagen de mis datos del host que pongo para subir los datos:


[contenido no disponible]
si si tienes que poner tus datos ftp dame un par de minutos y te hago uno nuevo :wink:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>

<form name="enviador" method="post" action="subir.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Archivo: <input type="file" name="archivo">
<input type="submit">
<?php
// Primero creamos un ID de conexión a nuestro servidor
$cid = ftp_connect("direccion ftp");
// Luego creamos un login al mismo con nuestro usuario y contraseña
$resultado = ftp_login($cid, "usuario","contraseña");
// Comprobamos que se creo el Id de conexión y se pudo hacer el login
if ((!$cid) || (!$resultado)) {
echo "Fallo en la conexión"; die;
} else {
echo "Conectado.";
}
// Cambiamos a modo pasivo, esto es importante porque, de esta manera le decimos al
//servidor que seremos nosotros quienes comenzaremos la transmisión de datos.
ftp_pasv ($cid, true) ;
echo "
Cambio a modo pasivo
";
// Nos cambiamos al directorio, donde queremos subir los archivos, si se van a subir a la raíz
// esta por demás decir que este paso no es necesario. En mi caso uso un directorio llamado htdocs
ftp_chdir($cid, "aqui el directorio en donde vas a subir");
echo "Cambiado al directorio necesario";
// Tomamos el nombre del archivo a transmitir, pero en lugar de usar $_POST, usamos $_FILES que le indica a PHP
// Que estamos transmitiendo un archivo, esto es en realidad un matriz, el segundo argumento de la matriz, indica
// el nombre del archivo
$local = $_FILES["archivo"]["name"];
// Este es el nombre temporal del archivo mientras dura la transmisión
$remoto = $_FILES["archivo"]["tmp_name"];
// El tamaño del archivo
$tama = $_FILES["archivo"]["size"];
echo "
$local
";
echo "$remoto
";
echo "subiendo el archivo...
";
// Juntamos la ruta del servidor con el nombre real del archivo
$ruta = "/htdocs/" . $local;
// Verificamos si no hemos excedido el tamaño del archivo
if (!$tama<=$_POST["MAX_FILE_SIZE"]){
echo "Excede el tamaño del archivo...
";
} else {
// Verificamos si ya se subio el archivo temporal
if (is_uploaded_file($remoto)){
// copiamos el archivo temporal, del directorio de temporales de nuestro servidor a la ruta que creamos
copy($remoto, $ruta);
}
// Sino se pudo subir el temporal
else {
echo "no se pudo subir el archivo " . $local;
}
}
echo "Ruta: " . $ruta;
//cerramos la conexión FTP
ftp_close($cid);
?>
</body>
</html>

AHI ESTA PJALA AHORA TE SIRVA SUERTE :wink:
solo tengo una pregunta mas:

Que tengo que cambiar para que me guarde las imagenes en la carpeta por ejemplo imagenes (Me puedes poner en rojo solo lo que hay que cambiar)
SOLO COPIA Y PEGA Y LEE LO QUE TE MANDE ESCRITO Y LO SABRAS :wink:
// Nos cambiamos al directorio, donde queremos subir los archivos, si se van a subir a la raíz
// esta por demás decir que este paso no es necesario. En mi caso uso un directorio llamado htdocs
ftp_chdir($cid, "aqui el directorio en donde vas a subir");
echo "Cambiado al directorio necesario";

ahy tengo problema, no se si tengo que cambiar lo rojo, si quiero alojar las imagenes en una carpeta llamada imagenes1
EN LA SEGUNDA linea despues de body en donde dice max file tiene 1000 ponle 10000 un cero mas
vale, otra cosa mas seleccionada, pero cuando las subo, como se hace para que ellas solas se ubiquen en lo rojo:


<table border="0" cellpadding="0">
<caption>Galería Fotografica</caption>
<tr>
<td width="100%">[contenido no disponible]</td>
</tr>
<tr>
<td width="100%"><form method="POST" name="rotater">
<div align="center"><center>

<script language="JavaScript1.1">
var photos=new Array()
var which=0

/*Change the below variables to reference your own images. You may have as many images in the slider as you wish*/
photos[0]="plane1.gif"
photos[1]="plane2.gif"
photos[2]="plane3.gif"
photos[3]="plane4.gif"
photos[4]="plane5.gif"


function backward(){
if (which>0){
window.status=''
which--
document.images.photoslider.src=photos
}
}

function forward(){
if (which<photos.length-1){
which++
document.images.photoslider.src=photos
}
else window.status='Final de la Galería'
}
</script><input type="button" value="&lt;&lt;Anterior" name="B2"
onClick="backward()"> <input type="button" value="Siguiente&gt;&gt;" name="B1"
onClick="forward()">

Comenzar de nuevo</p>
</center></div>
</form>
</td>
</tr>
</table>

lo que esta en rojo quiero que se cambie por la foto que la persona ha subido
eso si lo tendras que poner tu pero si tu web crece tendras problemas asi que trata de hacer otro tipo de galeria de imagenes
la galería sera para que un grupo de personas cuelguen las fotod de una fiesta y todo eso, no sabrias decirme como pueden ponerse las imagenes nada mas que se suban ahy, que se cambie lo rojo de la galería?
eso no se si se pueda lo que si es que se sube pero tendras que poner los links y para que tengas tiempo mejor haz un formulario pidiendote que quieren poner una imagen despues que la suba y tu ya pones el link :wink:
la primera pagina se llamara como tu quieras y le pondras esto

<form name="enviador" method="post" action="recibe.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000000000">
Archivo: <input type="file" name="archivo">
<input type="submit">

la segunda se va a llamar recibe.php

le vas a poner esto


<?php
// Primero creamos un ID de conexión a nuestro servidor
$cid = ftp_connect("aqui tu servidor");
// Luego creamos un login al mismo con nuestro usuario y contraseña
$resultado = ftp_login($cid, "tu nombre de usuario","aqui la contraseña");
// Comprobamos que se creo el Id de conexión y se pudo hacer el login
if ((!$cid) || (!$resultado)) {
echo "Fallo en la conexión"; die;
} else {
echo "Conectado.";
}
// Cambiamos a modo pasivo, esto es importante porque, de esta manera le decimos al
//servidor que seremos nosotros quienes comenzaremos la transmisión de datos.
ftp_pasv ($cid, true) ;
echo "
Cambio a modo pasivo
";
// Nos cambiamos al directorio, donde queremos subir los archivos, si se van a subir a la raíz
// esta por demás decir que este paso no es necesario. En mi caso uso un directorio llamado boca
ftp_chdir($cid, "aqui la carpeta donde pondras tus imgs");
echo "Cambiado al directorio necesario";
// Tomamos el nombre del archivo a transmitir, pero en lugar de usar $_POST, usamos $_FILES que le indica a PHP
// Que estamos transmitiendo un archivo, esto es en realidad un matriz, el segundo argumento de la matriz, indica // el nombre del archivo
$local = $_FILES["archivo"]["name"];
// Este es el nombre temporal del archivo mientras dura la transmisión
$remoto = $_FILES["archivo"]["tmp_name"];
// El tamaño del archivo
$tama = $_FILES["archivo"]["size"];
echo "
$local
";
echo "$remoto
";
echo "subiendo el archivo...
";
// Juntamos la ruta del servidor con el nombre real del archivo
$ruta = "/srv/www/htdocs/aqui la carpeta donde vas a poner/" . $local;
// Verificamos si no hemos excedido el tamaño del archivo
if (!$tama<=$_POST["MAX_FILE_SIZE"]){
echo "Excede el tamaño del archivo...
";
} else {
// Verificamos si ya se subio el archivo temporal
if (is_uploaded_file($remoto)){
// copiamos el archivo temporal, del directorio de temporales de nuestro servidor a la ruta que creamos
copy($remoto, $ruta);
}
// Sino se pudo subir el temporal
else {
echo "no se pudo subir el archivo " . $local;
} }
echo "Ruta: " . $ruta;
//cerramos la conexión FTP
ftp_close($cid); ?>



listo :wink: