Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Pasar variable en Uploadify

Estas en el tema de Pasar variable en Uploadify en el foro de Frameworks JS en Foros del Web. Hola, Bueno estoy con el siguiente problema, estoy modificando el codigo de Uploadify para poder lograr generar una carpeta para cada vez que subo archivos, ...
  #1 (permalink)  
Antiguo 05/08/2011, 05:35
 
Fecha de Ingreso: mayo-2004
Mensajes: 102
Antigüedad: 19 años, 11 meses
Puntos: 5
Mensaje Pasar variable en Uploadify

Hola,
Bueno estoy con el siguiente problema, estoy modificando el codigo de Uploadify para poder lograr generar una carpeta para cada vez que subo archivos, actualmente estoy haciendolo de manera que escriba en el input el nombre de la carpeta, mientras que una vez que tenga el problema solucionado seleccionara desde la base de datos, entonces basicamente el funcionamiento es el siguiente.(Por cierto si alguien quiere el codigo que sube multiples imagenes, redimensiona y lee los archivos directamente desde la carpeta, en cuanto este terminado el codigo lo compartire para los mas principiantes)

Tengo:
add_school.php ---- Formulario donde agrego el contenido.

Código:
	<form id="mainftp" action="add_school.php" method="post" enctype="multipart/form-data">
					<p><input type="file" name="file" id="file" /></p>
                    <input type="text" id="nombrecarpeta" name="nombrecarpeta" value="" />
					<p><input type="submit" name="submit" value="Upload" /></p>
				</form>
Ese archivo tiene los siguientes archivos incluidos:
3 librerias en java y el file que da los valores a la libreria, que es el siguiente:

Código:
jQuery(document).ready(function() { 

	$('#mainftp').uploadify({
  	'uploader'	: 'js/uploadify/uploadify.swf',
  	'script'    : 'js/uploadify/uploadify.php',
  	'multi'			: true,
  	'auto'			: true,
  	'height'		:	'32', //height of your browse button file
  	'width'			:	'250', //width of your browse button file
  	'sizeLimit'	:	'20000000',  //remove this to set no limit on upload size
  	'simUploadLimit' : '3', //remove this to set no limit on simultaneous uploads
  	'buttonImg' : 'img/browse.png',
  	'cancelImg' : 'img/cancel.png',
		onProgress: function() {
		  $('#loader').show();
		},
		onAllComplete: function() {
		  $('#loader').hide();
		  $('#allfiles').load(location.href+" #allfiles>*","");
		  //location.reload(); //uncomment this line if youw ant to refresh the whole page instead of just the #allfiles div
		}	
	});
	
	$('ul li:odd').addClass('odd');
 
 
});
Este java que modifica a las librerias incluye un archivo php que es:

'script' : 'js/uploadify/uploadify.php',


Código:
<?php

$nombre_escuela = $_POST['nombrecarpeta'];
if (!empty($_FILES)) {
	
	
	/////FUNCION REDIMENSIONAR///
	function Redimensionar($imagem, $largura){
		
				$img_type = strstr($imagem, '.');
				
				switch($img_type) {
					case '.jpg':
						$img = @imagecreatefromjpeg($imagem);;
						break;
					case '.png':
						$img = @imagecreatefrompng($imagem);
						break;
					case '.gif':
						$img = @imagecreatefromgif($imagem);
						break;
											case '.JPG':
						$img = @imagecreatefromjpeg($imagem);;
						break;
					case '.PNG':
						$img = @imagecreatefrompng($imagem);
						break;
					case '.GIF':
						$img = @imagecreatefromgif($imagem);
						break;
					default:
						echo("Error Invalid Image Type");
						die;
						break;
					}
			
				
					$x   = imagesx($img);
					$y  = imagesy($img);
					$altura = ($largura * $y)/$x;
					$nova = imagecreatetruecolor(150, 150);
					imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);
//					imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);
					imagejpeg($nova, "$imagem");
					imagedestroy($img);
					imagedestroy($nova);            
		}
	

	$tempFile = $_FILES['Filedata']['tmp_name'];
	$targetPath = $_SERVER['DOCUMENT_ROOT']."/imagenes_escuelas/".$nombre_escuela."/";
	$targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
	

	
		mkdir(str_replace('//','/',$targetPath), 0755, true);
		
		//copia el thum
		mkdir($targetPath."thum", 0755, true);
		$destino=$targetPath."thum/".$_FILES['Filedata']['name'];
		copy($tempFile,$destino);move_uploaded_file($tempFile,$targetFile);
		//fin copia el thum
		//redimensiona la copia
		Redimensionar($destino,200);
		
		//fin redimensiona la copia
		//mueve el archivo original
		
		//FIN mueve el archivo original
		
		
		echo "1";

}
?>
El problema es que la variable "$_POST['nombrecarpeta'];" llega vacia, encambio en $nombre_escuela = $_POST['nombrecarpeta'];
cambio por: $nombre_escuela = "holahola"; genera perfectamente la carpeta nueva, con su subdirectorio con los thum, pero si lo hago con variable no llega nada, entonces probe a poner
$nombre_escuela = $_FILES['nombrecarpeta'];
y tampoco funciona.... llevo 3 dias ya con este codigo!! Tal vez el problema sea otro que no llego a ver.
Por cierto otra manera que he probado es poner en el archivo que modifica a la libreria java:

'carpeta' = <?php echo etcetc; ?>

y tampoco funciona.. :(
Gracias de antemano! un saludo
__________________
Bruno Quintana
  #2 (permalink)  
Antiguo 05/08/2011, 07:16
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Pasar variable en Uploadify

Bueno hay varias cosas que le faltan a tu form:

-el form no tiene name, php trabaj con los NAME
-te falta validar esto
$nombre_escuela = (isset($_POST['nombrecarpeta'])) ? $_POST['nombrecarpeta'] : '';

if (!empty($_FILES) && !empty($nombre_escuela)) { ... }

-otra cosa inecesaria es usar jquery para enviar un form, simplemente envia el form al action y listo. de todas formas el que redimensiona la imagen es php.
  #3 (permalink)  
Antiguo 05/08/2011, 07:53
 
Fecha de Ingreso: mayo-2004
Mensajes: 102
Antigüedad: 19 años, 11 meses
Puntos: 5
Respuesta: Pasar variable en Uploadify

Hola,
Muchas gracias por tu respuesta, pero no soluciona el problema, le he puesto nombre al formulario pero no llega el valor de la variable...

Estoy utilizando jquery para enviar el form porque subo muchas imagenes a la vez y no he encontrado ningun script en php que haga eso y fuera no muy dificil de adaptar a lo que necesito.

Yo creo que el valor de la variable se pierde ya que digamos que pasa a la segunda pagina pero no llega a la tercera.

Porque el primer archivo incluye a los demas pero el file que incluye al php que es en el que llega la variable vacia es esta linea:

'script' : 'js/uploadify/uploadify.php',

Entonces, ahi se queda la variable y no llega a uploadify.php,
__________________
Bruno Quintana
  #4 (permalink)  
Antiguo 05/08/2011, 08:51
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: Pasar variable en Uploadify

mmm no me acuerdo muy bien pero una vez necesitaba algo parecido, creo que lo que hice es en vez de colocar la url como parámetro le pasé una función que retornaba la url con una variable get que tenía como valor el valor que obtenía de un input, algo como:

'script' : getUrl(),

esa función tomaba el valor de un input

function getUrl(){
return 'js/uploadify/uploadify.php?clave=' + $('#elinput').val();
}
  #5 (permalink)  
Antiguo 06/08/2011, 03:51
 
Fecha de Ingreso: mayo-2004
Mensajes: 102
Antigüedad: 19 años, 11 meses
Puntos: 5
Respuesta: Pasar variable en Uploadify

Hola Dany,
Muchisimas gracias de verdad! ahora funciona de maravilla!! jeje
Muchas gracias!
un saludo!
__________________
Bruno Quintana

Etiquetas: imagenes, pasar, php, uploadify, formulario, variables
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:16.