Carga de imágenes al servidor
Publicado por Iraitz (3 intervenciones) el 19/05/2017 10:06:21
Hola gente!
Primero de todo gracias por el trabajo que hacéis aquí.
Tengo un problemilla, estoy haciendo una aplicación web sencilla, en la que el usuario carga una foto desde la web y yo, con una imagen que tengo precargada en el servidor (un faldón), combino ambas imágenes con GD y la muestro en el navegador para descargarla.
En local funciona genial, pero al subirlo a un server, con lo que tarda la imagen en subirse, como el acoplamiento lo hago "al vuelo" según se sube, parece ser que cuando ejecuto el código de acoplar las imágenes, la que ha subido el usuario todavía no está en el server, con lo cual me muestra una imagen en blanco. Adjunto un gyazo del resultado obtenido ahora.
https://gyazo.com/7d0b3ce60d3b624e7b074b1c2dbe0511
Mi pregunta es, hay alguna manera de saber cuando se ha subido la imagen al server y ya se pude trabajar con ella? y de mientras se está subiendo mostrar algún spinner.
He probado con Ajax mostrando una barra de progreso, pero la barra de progreso termina y la imagen todavía no está subida.
Os dejo el PHP que utilizo para la carga de la imagen. (Viene a través de un form por POST)
Primero de todo gracias por el trabajo que hacéis aquí.
Tengo un problemilla, estoy haciendo una aplicación web sencilla, en la que el usuario carga una foto desde la web y yo, con una imagen que tengo precargada en el servidor (un faldón), combino ambas imágenes con GD y la muestro en el navegador para descargarla.
En local funciona genial, pero al subirlo a un server, con lo que tarda la imagen en subirse, como el acoplamiento lo hago "al vuelo" según se sube, parece ser que cuando ejecuto el código de acoplar las imágenes, la que ha subido el usuario todavía no está en el server, con lo cual me muestra una imagen en blanco. Adjunto un gyazo del resultado obtenido ahora.
https://gyazo.com/7d0b3ce60d3b624e7b074b1c2dbe0511
Mi pregunta es, hay alguna manera de saber cuando se ha subido la imagen al server y ya se pude trabajar con ella? y de mientras se está subiendo mostrar algún spinner.
He probado con Ajax mostrando una barra de progreso, pero la barra de progreso termina y la imagen todavía no está subida.
Os dejo el PHP que utilizo para la carga de la imagen. (Viene a través de un form por POST)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
$destination_path = getcwd().DIRECTORY_SEPARATOR;
$target_path = $destination_path . basename( $_FILES["image"]["name"]);
$faldondir = $destination_path . 'Faldon_horizontal.png';
if (move_uploaded_file($_FILES['image']['tmp_name'], $target_path)) {
$im = @imagecreatefromjpeg($target_path);
$anchoimg = imagesx($im);
$faldon = @imagecreatefrompng($faldondir);
$anchofaldon = imagesx($faldon);
if($anchoimg != $anchofaldon)
{
$faldon = imagescale ($faldon, $anchoimg);
}
$alto = imagesy($im) - imagesy($faldon);
imagecopyresampled(
$im,
$faldon,
0, $alto, 0, 0,
imagesx($faldon),
imagesy($faldon),
imagesx($faldon),
imagesy($faldon)
);
header('Content-Type: image/jpeg');
imagejpeg($im, null, 100);
} else {
echo "¡Posible ataque de subida de ficheros!\n";
}
?>
Valora esta pregunta
0