Ver Mensaje Individual
  #11 (permalink)  
Antiguo 14/10/2011, 17:18
phyronx
 
Fecha de Ingreso: mayo-2009
Mensajes: 232
Antigüedad: 15 años
Puntos: 3
Respuesta: fallo al subir imagen

Aver, contesto:

GatorV, si pongo $_FILES['fichero']['tmp_name'] me da el siguiente error:
Warning: move_uploaded_file() [function.move-uploaded-file]: The second argument to copy() function cannot be a directory in.
Si hago un echo me pone: C:\wamp\tmp\phpF450.tmp. No el nombre del archivo.

Stramin,vopor pasos:

1 Lo tengo puesto.
2 Si que los tiene, vamso que es en localhost con el wamp.
3 Si, ya que consigo subir archivos. Aunque de otra forma que mas abajo hos cuento.
4 Esto no se muy bien porque deberia fallar, aunque en el mismo script cargo otra archivo que recojo de otro form.
5 xD
6 He subido este archivo de otra forma.

Hos aclaro cosas y hos pongo el codigo, a ver:

Trabajo en localhost con el wamp.

Tengo una pagina con 2 forms, que se envian al mismo .php.
En ese php si se ha enviado el archivo con el form1, deberia copiar la imagen tal cual. Si se envia con el form 2, la debe redimensionar y cambiar el nombre, y guardarla.

Pues la segunda manera de enviarla, funciona perfectamente. Pero de cojerla, y tal cual guardarla no funciona.

Hos pongo los codigos:

Los forms:


Código PHP:
Ver original
  1. //ESTE NO FUNCIONA
  2. <form action="validarresena.php?id=1&via=<?php echo $idvia;?>" method="post" enctype="multipart/form-data" name="metodo1" id="form1">
  3.   <label for="fileField"></label>
  4.   <input type="file" name="fichero" id="fileField" />
  5.   <input type="submit" name="button" id="button" value="Enviar" />
  6. </form>
  7.  
  8.  
  9. <form action="validarresena.php?id=2&via=<?php echo $idvia;?>" method="post" enctype="multipart/form-data" name="metodo2" id="form2">
  10.   <label for="fileField2"></label>
  11.   <input type="file" name="fichero" id="fileField2" />
  12.   <input type="submit" name="button2" id="button2" value="Enviar" />
  13. </form>

Y el codigo completo del php con el que recojo:


Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. if (isset($_GET["id"])){
  5.    
  6. include "../config/config.php";
  7. $ruta_destino = "../imagenes/resenas/";
  8. $idvia= $_GET["via"];
  9.        
  10. if(isset($_FILES['fichero']['name'])) {  
  11.  
  12.  
  13.    if(is_uploaded_file($_FILES['fichero']['tmp_name'])) {
  14.    
  15.    
  16.    if ($_GET["id"]==1){
  17.        
  18. $nombre= $_FILES['fichero']['name'];
  19. echo $nombre;
  20. move_uploaded_file($nombre,$ruta_destino);
  21.  
  22.  
  23.    }else if ($_GET["id"]==2){
  24.  
  25.        
  26.  
  27.    //empieza la redimension, tomamos la imagen temporal subida
  28.    $info = getimagesize($_FILES['fichero']['tmp_name']);  
  29.    //segun el caso sera jpg, gif, png
  30.    switch ($info[2]) {
  31.   case 1:
  32.     $imagen = imagecreatefromgif($_FILES['fichero'] ['tmp_name']); break;
  33.   case 2:
  34.     $imagen = imagecreatefromjpeg($_FILES['fichero'] ['tmp_name']); break;
  35.   case 3:
  36.     $imagen = imagecreatefrompng($_FILES['fichero'] ['tmp_name']); break;
  37.   // etcétera //  
  38.   }
  39.  
  40. $original = $imagen;
  41. $original_w = imagesx($original);
  42. $original_h = imagesy($original);
  43.  
  44. $max = 800;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS
  45.  
  46. if($original_w>$original_h) {
  47.     $muestra_w = $max;
  48.     $muestra_h = intval(($original_h/$original_w)*$max);
  49.     } else {
  50.     $muestra_w = intval(($original_w/$original_h)*$max);
  51.     $muestra_h = $max;
  52.     }
  53.  
  54. $muestra = imagecreatetruecolor($muestra_w,$muestra_h);  
  55.  
  56. imagecopyresampled($muestra,$original,0,0,0,0, $muestra_w,$muestra_h,$original_w,$original_h);
  57. imagedestroy($original); // aqui destruyo el original, pues no hace falta ya
  58.  
  59.      // me verifica haya sido cargado el archivo  
  60.  
  61.        
  62. $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
  63. $namefinal = "";
  64. for($i=0;$i<12;$i++) {
  65. $namefinal .= substr($str,rand(0,62),1);
  66. }
  67.  
  68. $namefinal = $_SESSION["userid"]."_".$namefinal;
  69. $sep=explode('image/',$_FILES["fichero"]["type"]); // Separamos image/
  70. $tipo=$sep[1];
  71.  $namefinal = $namefinal.".".$tipo;
  72.  $uploadfile= $ruta_destino . $namefinal;  
  73.      
  74. imagejpeg($muestra,$uploadfile,'80');
  75.  
  76. $sql = mysql_query("UPDATE vies SET resena='$namefinal' WHERE idvia='$idvia'");
  77.  
  78.    
  79.    
  80.     }
  81.    }}}
  82. ?>