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