Foros del Web » Programando para Internet » PHP »

ayuda con codigo para subir imagenes

Estas en el tema de ayuda con codigo para subir imagenes en el foro de PHP en Foros del Web. Hola muchacho, que tal, he ido armando este codigo con diferentes trozos. La verdad es que cuando le puse el codigo para comprobar tipo y ...
  #1 (permalink)  
Antiguo 01/08/2008, 14:05
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
ayuda con codigo para subir imagenes

Hola muchacho, que tal, he ido armando este codigo con diferentes trozos. La verdad es que cuando le puse el codigo para comprobar tipo y tamaño, dejo de funcionar. No carga la imagen ni tampoco hace las comprobaciones. Estoy un poco nublado asi que si alguien me puede ayudar a ver el problema. Este es el codigo: (un poco largo):
Código PHP:
if (isset($_POST['submit'])) {
$filesize $_FILES['upfile']['size'];
$max=300000;//menos de 300 kb.
$filename trim($_FILES['upfile']['name']); 
$filename substr($filename, -20); 
$filename ereg_replace(" """$filename); 

if(
$filesize $max){
if(
$filesize 0){ 
if((
ereg(".jpg"$filename)) || (ereg(".gif"$filename)) || (ereg(".JPG"$filename))|| (ereg(".GIF"$filename))|| (ereg(".png"$filename))|| (ereg(".PNG"$filename))){

 
    if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo 
        
$puntos="../";
        
$path"imagenes/".$_FILES['fichero']['name']; 
        
$ruta=$puntos.$path;
        
$titulo=$_POST['titulo'];
        
$descripcion=$_POST['descripcion'];
                
// Se guardarÃ*a dentro de "carpeta" con el nombre original 
 
        
if(move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta)) { // se coloca en su lugar final 
                    
echo "<b>La carga ha sido exitosa!. Datos:</b><br>"
            echo 
"Nombre: <i><a href=\"".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>"
            echo 
"Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>"
                    echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>"
                        echo 
"<br><hr><br>"
       
require_once(
'../Connections/conexion.php');
mysql_select_db($database$con);
mysql_query("INSERT INTO imagenes(imagen, imagenup, titulo, descripcion,) values ('$path', '$ruta', '$titulo', '$descripcion')",$con) or die(mysql_error()); 

       
        } 
//cierra move_upload
    
}//cierra is_uploaded
  
else {
print(
"Sólo se permiten imágenes en formato .jpg, .png y .gif, no se ha podido adjuntar.");
}
}
else {
print(
"<br><br>Campo vac&iacute;o, no ha seleccionado ninguna imagen");
}
}
else {
print(
"<br><br>La imagen que ha intentado adjuntar es mayor de 300 kb, si desea cambie el tamaño del archivo y vuelva a intentarlo.");
}
  

    
    

Saludos
  #2 (permalink)  
Antiguo 01/08/2008, 14:27
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 9 meses
Puntos: 2
De acuerdo Respuesta: ayuda con codigo para subir imagenes

Dale un vistazo a esta direccion:

http://www.forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775/

...esta fenomenal
  #3 (permalink)  
Antiguo 01/08/2008, 15:55
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: ayuda con codigo para subir imagenes

mmm, la verdad es que voy a seguir tratando con el codigo que tengo, aunque sea armado por piezas, jejej. El otro que dices tu me mareo mas aun.
  #4 (permalink)  
Antiguo 01/08/2008, 19:37
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: ayuda con codigo para subir imagenes

Bueno, al final consegui armar el codigo. Lo dejo por si a alguien le interesa. Lo que me falta es que al subir la imagen, la primera consulta a la bd, la que muestra el total de imagenes subidas, se refresque, porque no lo hace.

Alguien sabe que se debe hacer?.

Código PHP:
<?php require_once('Connections/con.php');
mysql_select_db($database$con) or die(mysql_error());
$idpolitico=$_GET['idusuario'];
if (isset(
$_POST['idusuario'])){
$idpolitico=$_POST['idusuario'];
}
$n_imagen=mysql_query("SELECT*FROM imagen WHERE idusuario='$idusuario' ORDER BY id DESC"$politicos) or die (mysql_error());
$total=mysql_num_rows($n_imagen);
if (
$total==6){
echo 
"A subido $total imagenes. Debe eliminar una imagen para subir otra.";
}
else{
$quedan=6-$total;
echo 
"puede subir $quedan imagenes. Se permite formato .gif, .jpg y .png y un tama&ntilde;o inferior a 300kb";
echo 
"<br/>";
echo 
"<br/>";//esta quiero refrescar

if (isset($_POST['submit'])) {
$tipo_archivo $_FILES['fichero']['type'];
$tamano_archivo $_FILES['fichero']['size'];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg") || strpos($tipo_archivo"png")|| strpos($tipo_archivo"jpg")) && ($tamano_archivo 300000))) {
    echo 
"La extensión o el tamaño de los archivos no es correcta.";
}else{     
    if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo 
        
$puntos="../";
        
$path"imagenes_politicos/".$_FILES['fichero']['name']; 
        
$ruta=$puntos.$path;//es por si se alojan las fotos dentro de una carpeta distinta, sino, eliminarlo
        
$titulo=$_POST['titulo'];
        
$descripcion=$_POST['descripcion'];        
// Se guardaría dentro de "carpeta" con el nombre original 
// $ruta= "carpeta/nuevo_nombre.jpg"; si también 
        
if(move_uploaded_file($_FILES['fichero']['tmp_name'], $path) or die(mysql_error())) { // se coloca en su lugar final 
                    
echo "<b>La carga ha sido exitosa!. Datos:</b><br>"
            echo 
"Nombre: <i><a href=\"".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>"
            echo 
"Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>"
                    echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>"
                        echo 
"<br><hr><br>"
        } 
//cierra is uploaded
    
}//cierra move uloaded
  
require_once('Connections/con.php');
mysql_select_db($database$con);
mysql_query("INSERT INTO imagenes(idusuario, imagen, imagenup, titulo, descripcion) values ('$idusuario', '$path', '$ruta', '$titulo', '$descripcion')",$con) or die(mysql_error()); 
   }
//cierr else comprovacion
 
}//cierra if isset
       
?>
<form action="<?php echo $_SERVER['PHP_SELF'?>" method="post" enctype="multipart/form-data">
  <table align="center">
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Imagen:</td>
      <td><input type="file" name="fichero" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Titulo:</td>
      <td><input type="text" name="titulo" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right" valign="top">Descripcion:</td>
      <td><textarea name="descripcion" cols="50" rows="5"></textarea>      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <input type="hidden" name="idusuario" value="<?php echo "$idusuario"?>"> 
      <td><input name="submit" type="submit" value="Subir" /></td>
    </tr>
  </table>
</form>
 <?php 
 
 
mysql_select_db($database_politicos$politicos) or die(mysql_error());
$imagen=mysql_query("SELECT*FROM imagenes WHERE idusuario='$idusuario' ORDER BY id DESC"$con) or die(mysql_error());
 
?>
 
<table border="1">
<tr>
<td>Foto</td>
<td>Titulo</td>
<td>Descripcion</td>
</tr> 
<?php  while ($row_imagen mysql_fetch_assoc($imagen))  { ?>
    <tr>
      <td><a href="<?php echo $row_imagen['imagen']; ?>" rel="lytebox[vacation]"  title="<?php echo $row['descripcion']; ?>"><img src="<?php echo $row_imagen['imagen']; ?>" width="100" height="100"/></a>&nbsp; </td>
      <td valign="top"><?php echo $row_imagen['titulo']; ?>&nbsp; </td>
      <td valign="top"><?php echo $row_imagen['descripcion']; ?>&nbsp; </td>
  </tr>
   
    <?php ?> 
</table>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:24.