Foros del Web » Creando para Internet » Diseño web »

Ayuda por favor

Estas en el tema de Ayuda por favor en el foro de Diseño web en Foros del Web. Hola amigos, estoy creado una web donde los usuarios suben sus propias fotos. En este caso he puesto un upload donde el archivo que suban ...
  #1 (permalink)  
Antiguo 12/02/2008, 18:06
 
Fecha de Ingreso: diciembre-2006
Mensajes: 384
Antigüedad: 17 años, 4 meses
Puntos: 5
Ayuda por favor

Hola amigos, estoy creado una web donde los usuarios suben sus propias fotos. En este caso he puesto un upload donde el archivo que suban se me vaya automaticamente a una carpeta que yo diga en mi ftp. El caso es que el código es:

if (isset($_POST['submit'])) {
// Pregunto si viene una imagen desde el formulario
if ($_FILES['imagen']['name'] != '') {
// Subo la imagen
$nombre_imagen = $_FILES['imagen']['name'];
$path1 = "NOMBRE DE LA CARPETA".$nombre_imagen;
$tipo_archivo = explode('/',$_FILES['imagen']['type']);
$tamano_imagen = $_FILES['imagen']['size'];

// Pregunto por el formato de imagen valido
if ($tipo_archivo[1] == "gif" || $tipo_archivo[1] == "jpeg" || $tipo_archivo[1] == "jpg" || $tipo_archivo[1] == "pjpeg" || $tipo_archivo[1] == "png") {
// controlo que el tamaño de la imagen no sea mayor a 2 mb
if ($tamano_imagen > 2000000) {
$error ="ATENCION!! No se permiten archivos mayores a 2 MB.";
exit;
}
else {
// Muevo la imagen a la carpeta de destino
$resultado = move_uploaded_file($HTTP_POST_FILES['imagen']['tmp_name'], $path1);
}
else {
$error = "ATENCION!! Ocurrio algun error al subir el fichero. No pudo guardarse.";
exit;
}
}
else {
$error = "No se ha subido ninguna imagen desde el formulario.";
exit;
}
}

// muestro los errores al subir la imagen si los hay
if (isset($error)) {
echo $error;
}


El caso es que no tengo mucha idea y por mucho que lo pongo en una pagina y le pongo extension php no me sale. Me sale lo que podeis ver en esta web http://www.lacasitaporno.com/form.html si subis el archivo solo se ven las letras como podeis ver aqui http://www.lacasitaporno.com/agregar_img.php

Alguien puede ayudarme?
  #2 (permalink)  
Antiguo 12/02/2008, 18:09
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Ayuda por favor

Te falta poner <? al principio y ?> al final del código.
  #3 (permalink)  
Antiguo 12/02/2008, 18:22
 
Fecha de Ingreso: diciembre-2006
Mensajes: 384
Antigüedad: 17 años, 4 meses
Puntos: 5
Re: Ayuda por favor

Lo he colocado y ahora ya no me salen las letras. Pero tampoco me manda las fotos a la carpeta imagenes. Creeis que esta bien??

Por cierto, muchas gracias hgp147
  #4 (permalink)  
Antiguo 12/02/2008, 18:39
 
Fecha de Ingreso: diciembre-2006
Mensajes: 384
Antigüedad: 17 años, 4 meses
Puntos: 5
Re: Ayuda por favor

Yo es que lo que he hecho es coger ese codigo y ponerlo en una página en blanco tal cual, junto con <? ?> y nada, subo los archivos y me salen en blanco. Me direcciona a esa web pero se me queda todo en blanco :(
  #5 (permalink)  
Antiguo 12/02/2008, 18:52
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Ayuda por favor

Esta bien que quede esa página en blanco (significaría que no se produjo ningún error y por lo tanto el archivo subió sin problemas).
No me quedo muy claro si los archivos logras subirlos. ?
  #6 (permalink)  
Antiguo 12/02/2008, 18:53
 
Fecha de Ingreso: diciembre-2006
Mensajes: 384
Antigüedad: 17 años, 4 meses
Puntos: 5
Re: Ayuda por favor

Perdona si no me explique bien. O sea, las fotos que quiera subir los usuarios en el upload no me suben a la carpeta imagenes
  #7 (permalink)  
Antiguo 12/02/2008, 19:04
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Ayuda por favor

Falta un } antes de // muestro los errores al subir la imagen si los hay
  #8 (permalink)  
Antiguo 12/02/2008, 19:08
 
Fecha de Ingreso: diciembre-2006
Mensajes: 384
Antigüedad: 17 años, 4 meses
Puntos: 5
Re: Ayuda por favor

Nada, lo he puesto y no consigo que los archivos se suban a la carpeta imagenes. Llevo muchisiimo tiempo detras de esto y no hay manera de que me salga.
Aun así, agradecerte la ayuda hgp147, has sido muy amable :)
  #9 (permalink)  
Antiguo 12/02/2008, 19:36
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Ayuda por favor

La carpeta donde se suben las imágnes tiene permisos CHMOD 755 o 777 ?

Si querés fijate el código que proporciona esta web http://www.desarrolloweb.com/articulos/1307.php


Recien me fije en mi PC y el código da error de sintaxis:
Parse error: syntax error, unexpected T_ELSE in C:\Archivos de programa\VertrigoServ\www\agregar_img.php on line 23

Última edición por hgp147; 12/02/2008 a las 19:42
  #10 (permalink)  
Antiguo 12/02/2008, 19:50
 
Fecha de Ingreso: diciembre-2006
Mensajes: 384
Antigüedad: 17 años, 4 meses
Puntos: 5
Re: Ayuda por favor

Muchas gracias, jeje sabia que pasaba algo.

Una ultima cosilla, he visto el codigo que me has pasado

<?
//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 < 100000))) {
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</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.";
}
}
?>

Me podrias decir donde tengo que hacer el campio para que las imagenes se guarden en la carpeta del ftp que yo quiera. Por ejemplo las quiero en la carpeta imagenes que ya tengo en CHMOD 777
  #11 (permalink)  
Antiguo 12/02/2008, 20:04
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Ayuda por favor

Modifica esta línea

if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){

Por esta:

if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "./imagenes/$nombre_archivo")){


Además cambiá todos los $HTTP_POST_FILES por $_FILES
  #12 (permalink)  
Antiguo 12/02/2008, 20:22
 
Fecha de Ingreso: diciembre-2006
Mensajes: 384
Antigüedad: 17 años, 4 meses
Puntos: 5
Re: Ayuda por favor

De veras, disculpame nuevamente. Prometo no molestarte más jeje.
Ya he logrado crearlo con este codigo

<?
$status = "";
if ($_POST["action"] == "upload") {
// obtenemos los datos del archivo
$tamano = $_FILES["archivo"]['size'];
$tipo = $_FILES["archivo"]['type'];
$archivo = $_FILES["archivo"]['name'];
$prefijo = substr(md5(uniqid(rand())),0,6);

if ($archivo != "") {
// guardamos el archivo a la carpeta files
$destino = "files/".$prefijo."_".$archivo;
if (copy($_FILES['archivo']['tmp_name'],$destino)) {
$status = "Archivo subido: <b>".$archivo."</b>";
} else {
$status = "Error al subir el archivo";
}
} else {
$status = "Error al subir archivo";
}
}
?>

Este codigo me manda los archivos a la carpeta file, pero como seguridad, puedes decirme y te juro que no te molesto mas :p como puedo poner para que solo puedan enviar archivos jpeg y gif?? Es que quiero que solo puedan enviar fotos y que no vaya el tipico listo a enviarme 1gb y me colapse el servidor?

Siendo ser tan pesado
  #13 (permalink)  
Antiguo 13/02/2008, 04:55
 
Fecha de Ingreso: diciembre-2006
Mensajes: 384
Antigüedad: 17 años, 4 meses
Puntos: 5
Re: Ayuda por favor

Hola, he probado el codigo anterior y si me sirve :) pero necesito que en el upload solo se puedan subir archivos en gif y jpeg para que no me puedan subir barbaridades por el servidor y bloquearmelo.

Alguien me puede decir que tengo que poner en el codigo para que solo se acepten archivos en GIF y JPEG

<?
$status = "";
if ($_POST["action"] == "upload") {
// obtenemos los datos del archivo
$tamano = $_FILES["archivo"]['size'];
$tipo = $_FILES["archivo"]['type'];
$archivo = $_FILES["archivo"]['name'];
$prefijo = substr(md5(uniqid(rand())),0,6);

if ($archivo != "") {
// guardamos el archivo a la carpeta files
$destino = "files/".$prefijo."_".$archivo;
if (copy($_FILES['archivo']['tmp_name'],$destino)) {
$status = "Archivo subido: <b>".$archivo."</b>";
} else {
$status = "Error al subir el archivo";
}
} else {
$status = "Error al subir archivo";
}
}
?>

gracias
  #14 (permalink)  
Antiguo 13/02/2008, 04:57
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Re: Ayuda por favor

este tea debería haber ido a la categoría de php del foro.
__________________
No diseñes usando tablas.
  #15 (permalink)  
Antiguo 13/02/2008, 05:06
 
Fecha de Ingreso: diciembre-2006
Mensajes: 384
Antigüedad: 17 años, 4 meses
Puntos: 5
Re: Ayuda por favor

mm no te he ententido muy bien :(
  #16 (permalink)  
Antiguo 13/02/2008, 05:29
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Re: Ayuda por favor

que este tema tendría que haber ido al foro de php y no a este :P
__________________
No diseñes usando tablas.
  #17 (permalink)  
Antiguo 13/02/2008, 05:38
 
Fecha de Ingreso: diciembre-2006
Mensajes: 384
Antigüedad: 17 años, 4 meses
Puntos: 5
Re: Ayuda por favor

jeje pues puede ser, pero como ayer empezaron a contestarme en este parece que lo han dejado en el general. Por cierto sigo buscado la ayudita de como poner para que la programacion solo deje entrar archivos en JPEG y GIF
  #18 (permalink)  
Antiguo 13/02/2008, 05:43
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Re: Ayuda por favor

pues pregunta en el foro de php, que seguro que te ayudarán encantados ^^
__________________
No diseñes usando tablas.
  #19 (permalink)  
Antiguo 13/02/2008, 06:27
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Ayuda por favor

Código PHP:
<?
$status 
"";
if (
$_POST["action"] == "upload") {
// obtenemos los datos del archivo
$tamano $_FILES["archivo"]['size'];
$tipo $_FILES["archivo"]['type'];
$archivo $_FILES["archivo"]['name'];
$prefijo substr(md5(uniqid(rand())),0,6);

if ((
strpos($tipo"gif") || strpos($tipo"jpeg")) && $tamano 100000) {
// guardamos el archivo a la carpeta files
$destino "files/".$prefijo."_".$archivo;
if (
copy($_FILES['archivo']['tmp_name'],$destino)) {
$status "Archivo subido: <b>".$archivo."</b>";
} else {
$status "Error al subir el archivo";
}
} else {
$status "Error al subir archivo";
}
}
?>
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:47.