Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Subir imagen temporal a web mediante php

Estas en el tema de Subir imagen temporal a web mediante php en el foro de PHP en Foros del Web. Buenos días a tod@s, Estoy creando una realidad aumentada para una web, en la que necesito que el usuario pueda subir una imagen de su ...
  #1 (permalink)  
Antiguo 03/10/2013, 04:09
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 46
Antigüedad: 12 años, 4 meses
Puntos: 1
Subir imagen temporal a web mediante php

Buenos días a tod@s,

Estoy creando una realidad aumentada para una web, en la que necesito que el usuario pueda subir una imagen de su salón, vivienda, edificio...(lo que sea) y sobre la cual se insertará un objeto (un producto).

La inserción de este producto ya está conseguida gracias a la ayuda de este foro.

Tengo una capa con una imagen de fondo (de demostración) y necesito que el usuario pulse sobre el botón "Choose file", seleccione una foto en jpg o gif y al darle a subir, la foto de fondo de demostración cambie por la del usuario. Una vez el usuario imprima esta foto o abandone la web, no se puede almacenar la imagen en mi servidor.

He intentando implementar éste código, pero sin éxito. La imagen que se supone debe almacenarse en una carpeta en el servidor llamada uploads no aparece. Alguna ayuda? Muchas gracias.

<form enctype="multipart/form-data" action="" method="POST">
<input name="uploadedfile" type="file" />
<input type="submit" value="Subir archivo" />
</form>

Código PHP:
<?php
$uploadedfileload
="true";
$uploadedfile_size=$_FILES['uploadedfile'][size];
echo 
$_FILES[uploadedfile][name];
if (
$_FILES[uploadedfile][size]>200000)
{
$msg=$msg."El archivo es mayor que 200KB, debes reduzcirlo antes de subirlo<BR>";
$uploadedfileload="false";}

if (!(
$_FILES[uploadedfile][type] =="image/pjpeg" OR $_FILES[uploadedfile][type] =="image/gif"))
{
$msg=$msg." Tu archivo tiene que ser JPG o GIF. Otros archivos no son permitidos<BR>";
$uploadedfileload="false";}

$file_name=$_FILES[uploadedfile][name];
$add="uploads/$file_name";
if(
$uploadedfileload=="true"){

if(
move_uploaded_file ($_FILES[uploadedfile][tmp_name], $add)){
echo 
" Ha sido subido satisfactoriamente";
}else{echo 
"Error al subir el archivo";}

}else{echo 
$msg;}
?>

<?php
echo "<img src='uploads/$file_name' >";
?>
  #2 (permalink)  
Antiguo 03/10/2013, 05:58
Avatar de javioreto  
Fecha de Ingreso: enero-2005
Ubicación: C:\España\Bilbao
Mensajes: 1.212
Antigüedad: 19 años, 2 meses
Puntos: 15
Respuesta: Subir imagen temporal a web mediante php

Puedes utilizar un trigger que a diario haga un unlink() de todas las imágenes que no estén en uso, es decir, va a la carpeta temporal y elimina todo o hace un volcado de la DB de las imágenes en uso y las compara con las almacenadas y va eliminando las que no están en la BD.
  #3 (permalink)  
Antiguo 03/10/2013, 15:46
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 46
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Subir imagen temporal a web mediante php

Muchas gracias Javioreto, pero primero tengo que conseguir como subir una imagen a una carpeta temporal en mi servidor.

He probado con varios códigos de tutoriales pero no funciona. Al darle a subir no almacen al imagen en ninguna carpeta.

Alguien me puede ayudar?

Gracias de antemano.
  #4 (permalink)  
Antiguo 03/10/2013, 16:04
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 46
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Subir imagen temporal a web mediante php

Este es el código que estoy usando, pero la imagen no se sube a la carpeta upload. Además aparece un un texto debajo del botón "Enviar" constantemente "Invalid file".

<form action="" method="post"
enctype="multipart/form-data">
<p>
<label for="file">Selecciona tu foto:</label>
<input type="file" name="file" id="file">
</p>
<p><br>
<input type="submit" name="submit" value="Subir">
</p>
</form>
<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>
  #5 (permalink)  
Antiguo 04/10/2013, 07:18
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 46
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Subir imagen temporal a web mediante php

Hola a tod@s! alguien que me pueda ayudar con este código? He probado a cambiar la ruta de la carpeta upload pero tampoco he conseguido nada.
  #6 (permalink)  
Antiguo 05/10/2013, 12:26
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 46
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Subir imagen temporal a web mediante php

Ya lo he conseguido! Gracias!

Etiquetas: mediante, temporal
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 20:19.