Ayuda con PHP...Subir imagenes

  • Iniciador del tema Iniciador del tema DieX
  • Start date Start date
Quiero guardar las imagenes en una carptea, y la direccion en la base de datos, para despues nada mas hacer la referencia, solo que no me esta funcando...

Tengo en el formulario lo siguiente


<input name="userfile" type="file" class="cajatexto1" size="16" style="float: left">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">

Ahi se adjunta la imagen

En el php lo siguiente

PHP:
<?
$nombre_archivo = $_FILES["userfile"]["tmp_name"];  
$tipo_archivo = $HTTP_POST_FILES["userfile"]["type"];  
$tamano_archivo = $HTTP_POST_FILES["userfile"]["size"];  


//compruebo si las características del archivo son las que deseo  

if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && (    $tamano_archivo < 100000))) 
{  
    echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>"; 
?> 
    <script language="javascript"> 
        setTimeout("url()",3000); 
        function url() 
        { 
        window.history.back(); 
        } 
    </script>            
<?     
} 
else 
{  
    $nom_img= $nombre_archivo; 
     
    $directorio = 'Recursos/'; 

    if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],$directorio . "/" . $nom_img)) 
    {  
            $diaactual= date("d");  
        $mesactual= date("m");  
        $anoactual= date("Y"); 
        $fecha= $diaactual . "/" . $mesactual . "/" . $anoactual; 
         
        //NOS CONECTAMOS A LA BASE DE DATOS 

     $connection = mysql_connect("localhost","root","root")
        or die ("No se pudo conectar al servidor");
      $db = mysql_select_db("tremedal",$connection)
        or die ("No se pudo seleccionar la base de datos");

                         
$query = "INSERT INTO imagen (titulo,descripcion, imagen) VALUES ( $_REQUEST[titulo]', '$_REQUEST[descripcion]', '$nom_img')";



        $result=mysql_db_query($database,$query,$link); 
         
        if(mysql_affected_rows($link)) 
        {  
            echo "Imagen ingresada correctamente";  
             
        } else  
        {  
            echo "Error introduciendo la Imagen";  
        } /* Cierre del else */  




    } 
    else 
    { 
        echo "error al subir la foto"; 
    } 
}

Pero no sirve, alguien que me ayude a corregie que falla, y/o me brinde un ejemplo mejor pura vida
 
Última edición:
Bueno ya lo pude solucionar, voy a ponerlo aqui por si alguien lo necesita en el futuro,


PHP:
    <?php 

srand(time());
$i = rand(0,25);



$ruta="./Recursos/"; //Cambiar este por su ruta

$uploadfile_temporal=$_FILES['imagen']['tmp_name']; 

$uploadfile_nombre=$ruta.$i.$_FILES['imagen']['name']; 

if (is_uploaded_file($uploadfile_temporal)) 
{ 
    move_uploaded_file($uploadfile_temporal,$uploadfile_nombre); 


     $connection = mysql_connect("localhost","root","root")
        or die ("No se pudo conectar al servidor");
      $db = mysql_select_db("tremedal",$connection)
        or die ("No se pudo seleccionar la base de datos");

$ruta ="Recursos/".$i.$_FILES['imagen']['name'];

      $query = "INSERT INTO imagen (titulo,descripcion, imagen) VALUES ( '$_REQUEST[titulo]', '$_REQUEST[descripcion]', '$ruta')"; 

      $result = mysql_query($query)
        or die("La consulta falló: " . mysql_error());



$query = "SELECT * FROM imagen"; 

 $result = mysql_query($query)
        or die("La consulta falló: " . mysql_error());


      echo "<table border='1'>";
      echo "<tr>";
      echo "<th>Imagen</th>";
      echo "</tr>";

	
            while ($row = mysql_fetch_array($result))
      {



$medio = "<img  src= \" ".$inicio.$row['imagen']."\" width=\"200\" height=\"200\" \/>";

echo "<tr>";
        echo "<td>", $medio, "</td>";
        echo "</tr>";





      }

      echo "</TABLE>";


      mysql_close($connection); 




} 
else 
{ 
echo "error"; 
} 


?>

JavaScript para validar que el archivo sea valido
Code:
function imagen(archivo) { 

   extensiones_permitidas = new Array(".gif", ".jpg", ".bmp"); //Agregar aqui las extensiiones validas
   error = ""; 
   if (!archivo) { 
      //Si no tengo archivo, es que no se ha seleccionado un archivo en el formulario 
      	error = "No has seleccionado ningúna imagen"; 
   }else{ 
   
      //recupero la extensión de este nombre de archivo 
      extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase(); 
      
	  
	  
      //compruebo si la extensión está entre las permitidas 
      permitida = false; 
      for (var i = 0; i < extensiones_permitidas.length; i++) { 
         if (extensiones_permitidas[i] == extension) { 
         permitida = true; 
         break; 
         } 
      } 
      if (!permitida) { 
	       error = "Comprueba la extensión del la imagen. \nSólo se pueden subir archivos con extensiones: " + extensiones_permitidas.join();
				  
      	}else{ 
          
         //Todo bien 
         return true; 
      	} 
   } 
   
          alert (error);
		  return false; 
}

Por ultimo el formulario HTML
HTML:
<form name= "formImagen" action="insertimagen.php" method="post" accept-charset="utf-8"  enctype="multipart/form-data"> 
			<table width="200"> 
    <tr> 
        <td> 
        	Titulo:
        </td> 
        <td> 
        	<input type="text" name="titulo"> 
        </td> 
    </tr> 
    <tr> 
        <td> 
         Descripcion:
        </td> 
        <td> 
        	<input type="text"  name="descripcion"> 
        </td> 
    </tr> 
 
		
 
		    <tr> 
        <td> 
<input name="imagen" type="file"  size="40" style="float: left"> 
<input type="hidden" name="MAX_FILE_SIZE" value="100000"> 
        </td> 
								        <td> 
<input type="button" onclick="validarImagen(this.form)" value=" Subir imagen ">  
		        </td> 
		</tr> 
	</table> 
		
</form>
 

Se acaba de postear

Últimas Noticias de Costa Rica

📑 Evite Incurrir en Multas y Sanciones: Ofrecemos servicios de presentación de declaraciones de IVA (D104), alquileres (D125) y la anual de renta (D101)

🦉Prepración para examenes desde 6to hasta Bachillerato por madurez.
¡Obtenga su título!

¿Está a favor de la portación de armas para la defensa personal?

  • Sí, para garantizar la seguridad individual

  • No, para reducir el riesgo de incidentes violentos


Los resultados solo son visibles tras votar.

TicosLand is now also available on Android and iOS

¿Las universidades públicas costarricenses son refugios de ideologías extremistas?

  • Sí, son una cueva de profesores parásitos

    Votos: 372 59,3%
  • No, son cunas del libre pensamiento

    Votos: 255 40,7%

¿Apoya la creación de una ley de eutanasia en Costa Rica?

  • Sí, por el derecho a una muerte digna

  • No, por el respeto absoluto a la vida


Los resultados solo son visibles tras votar.

En tendencia

¿Costa Rica debería promover abiertamente el turismo sexual?

  • Sí, podría dar un impulso económico

  • No, debido a las implicaciones morales y sociales negativas


Los resultados solo son visibles tras votar.

🚀 FACTURATica.com la #1 sin Mensualidades ni Anualidades. Inscripción gratis en Hacienda.

¿Estaría de acuerdo en la pena de muerte para crímenes graves y flagrantes?

  • Sí y también para la corrupción

  • No, por el riesgo de errores judiciales y la ética de la vida


Los resultados solo son visibles tras votar.

¿Debería Costa Rica legalizar la marihuana para uso recreativo?

  • Sí, por los beneficios económicos y de seguridad

  • No, debido a los potenciales riesgos para la salud y la sociedad


Los resultados solo son visibles tras votar.
Atrás
Arriba