Manejo de Envió de Imágenes
Publicado por mydaboin (1 intervención) el 12/05/2020 18:50:22
Buenas tardes tengo un código que ejecuta el envió de una imagen, este es un ejemplo que funciona correctamente para lo que estoy buscando en cierto modo:
PERO yo necesito enviar varias imágenes, y este número puede disminuirse o ampliarse mediante variable... Como aplico esta condición en PHP, en perl hago lo siguiente para eso:
Se puede llevar esto de perl a PHP, ya que php tiene un mejor manejo de las imágenes en lo que se refiere re dimensionar sin tener que instalar en mi servidor librerías previas como es el caso de perl, es más directo a la hora de cambiar el tamaño de las imágenes. quiero Usar esta funcionalidad, lógicamente estoy incursionando en PHP.
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php
if(isset($_FILES['images'])){
//Funciones optimizar imagenes
//Ruta de la carpeta donde se guardarán las imagenes
$patch='imagenes';
//Parámetros optimización, resolución máxima permitida
$max_ancho = 800;
$max_alto = 900;
if($_FILES['images']['type']=='image/png' || $_FILES['images']['type']=='image/jpeg' || $_FILES['images']['type']=='image/gif'){
$medidasimagen= getimagesize($_FILES['images']['tmp_name']);
//Si las imagenes tienen una resolución y un peso aceptable se suben tal cual
if($medidasimagen[0] < 800 && $_FILES['images']['size'] < 100000){
$nombrearchivo=$_FILES['images']['name'];
move_uploaded_file($_FILES['images']['tmp_name'], $patch.'/'.$nombrearchivo);
}
//Si no, se generan nuevas imagenes optimizadas
else {
$nombrearchivo=$_FILES['images']['name'];
//Redimensionar
$rtOriginal=$_FILES['images']['tmp_name'];
if($_FILES['images']['type']=='image/jpeg'){
$original = imagecreatefromjpeg($rtOriginal);
}
else if($_FILES['images']['type']=='image/png'){
$original = imagecreatefrompng($rtOriginal);
}
else if($_FILES['images']['type']=='image/gif'){
$original = imagecreatefromgif($rtOriginal);
}
list($ancho,$alto)=getimagesize($rtOriginal);
$x_ratio = $max_ancho / $ancho;
$y_ratio = $max_alto / $alto;
if( ($ancho <= $max_ancho) && ($alto <= $max_alto) ){
$ancho_final = $ancho;
$alto_final = $alto;
}
elseif (($x_ratio * $alto) < $max_alto){
$alto_final = ceil($x_ratio * $alto);
$ancho_final = $max_ancho;
}
else{
$ancho_final = ceil($y_ratio * $ancho);
$alto_final = $max_alto;
}
$lienzo=imagecreatetruecolor($ancho_final,$alto_final);
imagecopyresampled($lienzo,$original,0,0,0,0,$ancho_final, $alto_final,$ancho,$alto);
//imagedestroy($original);
$cal=8;
if($_FILES['images']['type']=='image/jpeg'){
imagejpeg($lienzo,$patch."/".$nombrearchivo);
}
else if($_FILES['images']['type']=='image/png'){
imagepng($lienzo,$patch."/".$nombrearchivo);
}
else if($_FILES['images']['type']=='image/gif'){
imagegif($lienzo,$patch."/".$nombrearchivo);
}
}
}
else echo 'fichero no soportado';
}
?>
<form action="" method="post" class="formulario" enctype="multipart/form-data">
<div class="formulario-grupo">
<label for="images">Cargar imagen</label>
<input type="file" name="images" id="images" accept="image/*">
</div>
<div class="formulario-grupo">
<input type="submit" value="Upload File" class="boton">
</div>
</form>
PERO yo necesito enviar varias imágenes, y este número puede disminuirse o ampliarse mediante variable... Como aplico esta condición en PHP, en perl hago lo siguiente para eso:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if ($numfotos<1){
$numfotos=5;
}
while ($x<=$numfotos){
$i++;
if ($x eq "0"){
$m="pequeña";
$imagen_buscar="../$filtro/imagenes/t\_$codigo-1.jpg";
$imagen_mostrar="../$filtro/imagenes/t\_$codigo-1.jpg";
}else{
$m="grande $x";
$imagen_buscar="../$filtro/imagenes/$codigo-$x.jpg";
$imagen_mostrar="../$filtro/imagenes/$codigo-$x.jpg";
}
print "</td><td align=center bgcolor=\"$colorfondo\">\n";
print "Imagen $m<br><input type=file name=imagen$i>\n";
print "</td></tr>";
$x++;
}
Se puede llevar esto de perl a PHP, ya que php tiene un mejor manejo de las imágenes en lo que se refiere re dimensionar sin tener que instalar en mi servidor librerías previas como es el caso de perl, es más directo a la hora de cambiar el tamaño de las imágenes. quiero Usar esta funcionalidad, lógicamente estoy incursionando en PHP.
Valora esta pregunta


0