Ver Mensaje Individual
  #14 (permalink)  
Antiguo 24/08/2011, 10:26
Avatar de KoswiDigital
KoswiDigital
 
Fecha de Ingreso: abril-2011
Ubicación: Galicia - España
Mensajes: 220
Antigüedad: 13 años, 7 meses
Puntos: 37
Respuesta: Upload con Ajax y Jquery (Uploadify)

Primero pregunta en el centro de soporte de tu hosting si tienes habilitadas esas 2 variables del php.ini (este archivo ya existe, es la configuración base de php y lo tiene tu servidor). Solicítales a ellos que modifiquen ese archivo. Si tienes un hosting de pago, probablemente puedas hacerlo tú, pero si se lo solicitas a ellos te lo harán sin problemas.


Te dejo un ejemplo que tengo hecho para un panel de administración:

Código HTML:
Ver original
  1. <link href="/_js/uploadify/uploadify.css" type="text/css" rel="stylesheet" />
  2. <script type="text/javascript" src="/_js/uploadify/swfobject.js"></script>
  3. <script type="text/javascript" src="/_js/uploadify/jquery.uploadify.v2.1.4.min.js"></script>
  4. $(document).ready(function()
  5. {
  6. $('#file_upload').uploadify(
  7.     {
  8.         'uploader'  : '/_js/uploadify/uploadify.swf',
  9.         'script'    : './scripts/newfoto.php',
  10.         'cancelImg' : '/_js/uploadify/cancel.png',
  11.         'fileExt'   : '*.jpg;*.jpeg',
  12.         'fileDesc'  : 'Sólo imágenes .jpg , .jpeg',
  13.         'method'    : 'post',
  14.         'multi'     : true,
  15.         'onSelect'    : function()
  16.         {
  17.             $('.sendoc').show();
  18.             $('#file_upload').uploadifySettings('scriptData' , { 'galeria': $('#selgal').val() });    
  19.         },
  20.         'onAllComplete' : function(data)
  21.         {
  22.             $('.sendoc').hide();
  23.             alert( 'Todas las imágenes han sido agregadas correctamente' );
  24.         }
  25.     });
  26. });
  27. </head>
  28. <!-- Aquí va un select, del cual sacamos el valor para enviar al php -->
  29. </body>
  30. </html>

Código PHP:
Ver original
  1. <?php
  2.     $root = $_SERVER['DOCUMENT_ROOT'];
  3.     include($root.'/_scripts/db_connect.php');
  4.    
  5.     if (!empty($_FILES))
  6.     {
  7.         $galeria = $_POST['galeria'];
  8.         $tempFile = $_FILES['Filedata']['tmp_name'];
  9.         $targetPath = $root.'/img/galleries/'.$galeria.'/';
  10.         $fileName = $_FILES['Filedata']['name'];
  11.         $targetFile = $targetPath.$fileName;
  12.    
  13.         move_uploaded_file($tempFile , $targetFile);
  14.        
  15.         $origen = imagecreatefromjpeg($targetFile);
  16.         $x = imagesx($origen);
  17.         $y = imagesy($origen);
  18.         $nx = 120;
  19.         $ny = $y*$nx/$x;
  20.         $destino = imagecreatetruecolor(120,120);
  21.        
  22.         $posx = (120 - $nx) / 2;
  23.         $posy = (120 - $ny) / 2;
  24.  
  25.         imagecopyresized($destino,$origen,$posx,$posy,0,0,$nx,$ny,$x,$y);
  26.        
  27.         $destino_tn = $targetPath.'tn_'.$fileName;
  28.        
  29.         imagejpeg($destino , $destino_tn , 100);
  30.        
  31.         $tn = 'tn_'.$fileName;
  32.  
  33.         $peticion = "insert into `gallery_".$galeria."` (img,tn) values ( '$fileName' , '$tn' )";
  34.         $datos = mysql_query($peticion);
  35.        
  36.         imagedestroy($targetFile);
  37.         mysql_free_result($datos);
  38.         mysql_close($link);
  39.         exit();
  40.     }
  41.  
  42.     // este script se ejecutará una vez por cada archivo, de ahí que sea importante
  43.     // utilizar imagedestroy(). En este ejemplo, introducimos fotos en una galería o
  44.     // álbum, redimensionando primero una copia en miniatura y un canvas, centrando
  45.     // la miniatura en el canvas y luego enviando los datos a mysql.
  46.  
  47.     // es un script bastante sencillo y muy útil para el upload masivo de imágenes con
  48. // redimensionamiento.
  49. ?>


Un saludo.
__________________
http://www.koswidigital.com - Diseño web, Programación web, Fotografía profesional, Retoque digital.