PUBLICIDAD
Wilas
  • Foro de Costa Rica fue, es y será el principal centro de comunicaciones del país. Donde miles de usuarios día a día se expresan en forma libre y comparten sus gustos e intereses. Somos una comunidad adulta. Muy pronto lanzaremos la nueva Revista con toda la galeta de fotos desde el 2006. Se les quiere de gratis, Sr.MarceloGigante.

Ayuda con PHP...Subir imagenes

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>
 
PUBLICIDAD
FACTURA ELECTRÓNICA
Presentamos sus declaraciones del IVA D104, de ALQUILERES D125, así como su renta D101 desde ₡9000 al mes.
Active su PLAN PREPAGO por $9.99 y timbre hasta 50 documentos electrónicos. Sin mensualidades, ni anualidades con el sistema líder en el país.
Última hora noticias 24/7 de Costa Rica Hoy y el mundo
La red social de los Costarricenses
Un nuevo video en cada visita
Arriba Pie