PHP - Enviar foto con formulario-redimensionar-NO GRABA base de datos

 
Vista:

Enviar foto con formulario-redimensionar-NO GRABA base de datos

Publicado por Fjpl (1 intervención) el 17/12/2012 20:21:49
Inserto más abajo código.....
No sé que pasa y no encuentro solución. Este codio me funciona en un servidor local en windows MOWES versión php 5.3.5

En el servidor de la red PHP 5.3.3 No me funciona.... no me graba en la base de datos... como si el campo no existiera...

Pueden darme una idea del posible error....
Gracias

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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<?php
			// Establecer la cabecera de tipo de contenido - en este caso image/jpeg	
		include ("_foto_config.inc.php");
		include ("_foto_lib.inc.php");
 
 
 
		if (!isset($_POST['RT4_id'])){
		echo "<p class='titulo_cen'>ATENCIÓN<br></p>";
		echo "<p class='seccion_cen'>No tenemos referencia  a procesar.<br>";
		echo "Rogamos accedan a sus fotografias mediante los enlaces habilitados.<br>";
      		exit;
		}
 
 
 
 
		$chrs = array (chr(13), chr(10));
		$repl = array (" ", " ");
 
		$RT4_id=trim($_POST['RT4_id']);
		$RT4_RT2_id=trim($_POST['RT4_RT2_id']);
		$RT4_fichero=$_FILES['RT4_fichero']['tmp_name'];
		$RT4_nombre=trim($_POST['RT4_nombre']);
		$RT4_nombre = str_replace($chrs, $repl, $RT4_nombre); //Quitamos los saltos de Linea y ENTER para se vea bien la ampliación en Javascript
		$RT4_name=$_FILES['RT4_fichero']['name'];
		$RT4_type=$_FILES['RT4_fichero']['type'];
		$RT4_size=$_FILES['RT4_fichero']['size'];
		$RT4_text=trim($_POST['RT4_text']);
		$RT4_text = str_replace($chrs, $repl, $RT4_text); // Quitamos los saltos de Linea y ENTER para que se vea bien la ampliación en Javascript
		$RT4_url=trim($_POST['RT4_url']);
 
 
 
				// PROCESO DE REDUCCION DE FOTOGRAFIAS
 
		$img = $_FILES['RT4_fichero']['name']; // almaceno el nombre del archivo subido 
		$img2 = nueva.$img; //nombre de la nueva imagen achicada
		$tipo = $_FILES['RT4_fichero']['type'];  // almaceno el tipo de archivo
 
		$ancho = 475; //ancho maximo de la fotografia
		$alto = 356;  //Alto maximo de la fotografis
 
		// Obtener las nuevas dimensiones  de forma propordional.
		list($ancho_orig, $alto_orig) = getimagesize($RT4_fichero);
 
 
		$ratio_orig = $ancho_orig/$alto_orig;
 
 
	if ($alto > $alto_orig or $ancho > $ancho_orig ) {
   				$alto = $alto_orig;
				$ancho = $ancho_orig;
				} else {
   							if ($ancho/$alto > $ratio_orig) {
   							$ancho = $alto*$ratio_orig;
							} else {
   							$alto = $ancho/$ratio_orig;
							}
 
				}
		// TODAS LAS IMAGENES LAS VAMOS AGRABAR EN JPG  aunque originalmente sean JPG GIF o PNG
 
		//aca controlo que el archivo t subido sea JPG
		if ($tipo == "image/jpeg"  or $tipo == "image/jpg") {
 
			$imagenoriginal = imagecreatefromjpeg($RT4_fichero); //tomo la imagen original
			$imagennueva = imagecreatetruecolor($ancho,$alto); // creo el lienzo de la imagen nueva
			imagecopyresampled($imagennueva, $imagenoriginal, 0, 0, 0, 0, $ancho, $alto, $ancho_orig, $alto_orig);// cambio el manano
			imagejpeg($imagennueva, $dir.$img2,75); // guardo el archivo nuevo
			$archivo = $dir.$img2;
 
 
			}
 
		else if ($tipo == "image/gif") {//aca controlo que el archivo t subido sea GIF
 
			$imagenoriginal = imagecreatefromgif($RT4_fichero); //tomo la imagen original
			$imagennueva = imagecreatetruecolor($ancho,$alto); // creo el lienzo de la imagen nueva
			$background = imagecolorallocate($imagennueva, 255, 255, 255);  // Ponemos el Fondo Blanco
			imagefill ($imagennueva, 0, 0, $background);// Ponemos el Fondo Blanco
			imagecopyresampled($imagennueva, $imagenoriginal, 0, 0, 0, 0, $ancho, $alto, $ancho_orig, $alto_orig);// cambio el Tamano
			imagejpeg($imagennueva, $dir . $img2,75); // guardo el archivo nuevo
			$archivo = $dir.$img2;
			}
 
			//aca controlo que el archivo t subido sea PNG
		else if ($tipo == "image/png") {
 
			$imagenoriginal = imagecreatefrompng($RT4_fichero); //tomo la imagen original
			$imagennueva = imagecreatetruecolor($ancho,$alto); // creo el lienzo de la imagen nueva
			$background = imagecolorallocate($imagennueva, 255, 255, 255);// Ponemos el Fondo Blanco
			imagefill ($imagennueva, 0, 0, $background);// Ponemos el Fondo Blanco
			imagecopyresampled($imagennueva, $imagenoriginal, 0, 0, 0, 0, $ancho, $alto, $ancho_orig, $alto_orig);// cambio el manano
			imagejpeg($imagennueva, $dir . $img2,75); // guardo el archivo nuevo
			$archivo = $dir.$img2;
			}  else{echo"ARCHIVO NO PERMITIDO"; break; }
 
 
 
 
 
 
 
		function guardar_imagen($RT4_id){
 
		global
		$link,
		$sql,
		$RT4_id,
		$RT4_fichero,
		$archivo_type,
		$archivo_name,
		$archivo_size,
		$RT4_RT2_id,
		$ancho_g,$alto_g,
		$ancho_p,$alto_p,
		$RT4_size,
		$RT4_nombre,
		$RT4_name,
		$RT4_type,
		$image_max_size,
		$tipo_archivo_permitido,
		$RT4_id,
		$t_foto_1,
		$RT4_text,
		$RT4_url,
		$error,
		$archivo;
 
 
 
 
 
 
 
 
 
				$imagen  = addslashes(fread(fopen($archivo, "r"), filesize($archivo)));
				//echo $imagen;
				$sql  = "UPDATE  `$t_foto_1` SET RT4_id='".$RT4_id."' , RT4_RT2_id='".$RT4_RT2_id."' , RT4_fichero='".$imagen."' , RT4_nombre='".$RT4_nombre."' , RT4_name='".$RT4_name."' , RT4_type='".$RT4_type."' , RT4_size='".$RT4_size."' , RT4_text='".$RT4_text."' , RT4_url='".$RT4_url."'  WHERE RT4_RT2_id='".$RT4_RT2_id."'  ";
 
				mysql_query($sql,$link);
 
 
 
 
 
 
 
 
 
 
 
 
		} #FIN guardar_imagen()
 
		#----------------------------------
 
		$accion=$_POST['accion'];
 
	 	if ($accion=="editar"){
		guardar_imagen($_POST['RT4_id']);
 
 
			echo "<p class='tienda' align='center'>P R O C E S A N D O&nbsp;&nbsp;&nbsp;&nbsp;F O T O G R A F I A&nbsp;&nbsp;&nbsp;&nbsp;N-&nbsp;&nbsp;&nbsp;&nbsp;U N O</p>";
			echo "<p class='autor_cen'>&nbsp;Un Momento.... le presentamos a continuación las fotografías asociadas a este establecimiento.</p>";
			echo "<p class='seccion_cen'>&nbsp; Le recordamos que cada fotografia se proceda por separado..... </p>";
			//Consulta de los datos tras 2 segundos de espera
 
			echo "<p class='seccion_cen'><a href='".$_SERVER['PHP_SELF']."?opciones=formulario_fotos_1&RT2_id=$RT4_RT2_id'>Volver a cargar datos</a></p>";
			echo "<META HTTP-EQUIV='Refresh' CONTENT='08;URL=".$_SERVER['PHP_SELF']."?opciones=formulario_fotos_1&RT2_id=$RT4_RT2_id'>";
 
 
		} else{  echo"<p class='tienda' align='center'>ACCION NO CONTEMPLADA</p>";}
 
 
 
 
		?>


Este código erá mas complicado.... pero lo he reducido a la mínima expresíon para ver donde falla... y no lo veo...

Repito... en el servidor local me funciona
en el servidor de red internet... no me graba la fotografia.

Previamente se envian los datos mediente un formulario.

gracisx
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder