Foros del Web » Programando para Internet » PHP »

una peque auida que necesito con mkdir

Estas en el tema de una peque auida que necesito con mkdir en el foro de PHP en Foros del Web. Hola buenos día tengo una peque inquietud es que estoy haciendo una pagina de álbum de foto y quiero que cuando tenga un porcentaje de ...
  #1 (permalink)  
Antiguo 12/04/2016, 09:24
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 3 meses
Puntos: 1
una peque auida que necesito con mkdir

Hola buenos día tengo una peque inquietud
es que estoy haciendo una pagina de álbum de foto y quiero que cuando tenga un porcentaje de fotos el cree álbum pero tengo la idea y no he sabido plasmarla este es mi cod
Código PHP:
<?php

require('Conection.php');



if (
$foto$FILES['dropzone']['name']<=200) {

 
mkdir("Imagenes/album/fotos"0777);
foreach (
$_FILES as $key//Iteramos el arreglo de archivos
{

 if(
$key['error'] == UPLOAD_ERR_OK )//Si el archivo se paso correctamente Ccontinuamos 
  


   
$foto$key['name'];
   
$tipo=$key['type'];
   
$ruta=$key['tmp_name'];
   
$size=$key['size'];
   
$prefijo substr(md5(uniqid(rand())),0,6);
//generamos una id para poder tener imagenens repetidas
$destino='../Imagenes/album/'.$prefijo."_".$foto;
move_uploaded_file($ruta,$destino);
$ruta_imagen=$destino;
$width1000;
$heigth700;
list(
$imagen_ancho$imagen_alto) =getimagesize($ruta_imagen);
$imagen imagecreatefromjpeg($ruta_imagen); 
$lienzo imagecreatetruecolor($width,$heigth);  
imagecopyresampled($lienzo$imagen0000,$width$heigth$imagen_ancho$imagen_alto);
imagejpeg($lienzo,$ruta_imagen,100);

//Creamos la miniaturas
          
$source=$destino
          
$destmini='../Imagenes/img/'.$prefijo."_".$foto;//ruta donde se guardan las miniaturas
          
$width_d=240// ancho de la imagen
          
$height_d=240// alto de la imagen

          //copyamos la miniatura
          
list($width_s$height_s) = getimagesize($source);
          
$gd_s imagecreatefromjpeg($source); 
          
$gd_d imagecreatetruecolor($width_d$height_d);  
          
imagecopyresampled($gd_d$gd_s0000$width_d$height_d$width_s$height_s);
          
imagejpeg($gd_d$destmini,50);

   

$query "INSERT INTO subir_imagen(imagen,ruta_min)VALUES ('$destino,'$destmini')";
$result0=mysqli_query$conexion,$query) or die(mysqli_error($conexion));  
}
}
}else{
echo 
'{"status":"error"}';
exit;
}
  #2 (permalink)  
Antiguo 12/04/2016, 09:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: una peque auida que necesito con mkdir

¿Y exactamente cual es el problema?

Sigo sin entender la relación del título del tema con lo que expones, y menos con el código que muestras.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 12/04/2016, 11:13
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 3 meses
Puntos: 1
Respuesta: una peque auida que necesito con mkdir

es que muestro el código que he hecho pero no he podido saber en que parte colocar mi requerimiento sin dañar lo que ya me funciona y el titulo es para pedir ayuda de verdad no se donde colocar el if donde si son tantas fotos me cree otro álbum y que esto guarde en mysql id de cada álbum no se si me explique bien
  #4 (permalink)  
Antiguo 12/04/2016, 14:58
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: una peque auida que necesito con mkdir

con este puedes contar cuantas imágenes hay en un folder

Código PHP:
$imagenes count(glob("Imagenes/album/fotos/{*.jpg,*.JPG,*.gif,*.GIF,*.png,*.PNG,*.bmp,*.BMP}",GLOB_BRACE));
echo 
'Numero de imagenes: ',$imagenes;
$uploadDestino "Imagenes/album/fotos";
if(
$imagenes >= '10')mkdir($uploadDestino0777);//Si el numero de imagenes es = 10 o mayor crea otro folder 
y por supuesto al momento de crear el folder tienes que pasarle la ruta a la db y
no solo en el momento de crearlo si no que cada ves q se suba una imagen
asi q esa ruta tiene que estar en la base de datos o en un file.txt etc
Código PHP:
if($imagenes >= '10'){
mkdir($uploadDestino0777);//Si el numero de imágenes es = 10 o mayor crea otro folder
$destino $uploadDestino;// pase el nuevo Álbum a la db

algo asi puedes colocarlo antes de que llegue al código donde copia la imagen
al servidor

como te recuerdo cada nuevo álbum guárdalo ya sea en la db o un file
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #5 (permalink)  
Antiguo 12/04/2016, 16:02
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 3 meses
Puntos: 1
Respuesta: una peque auida que necesito con mkdir

Hola Thanks lo implementare y apenas tenga la solución coloco código
  #6 (permalink)  
Antiguo 25/04/2016, 13:49
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 3 meses
Puntos: 1
Respuesta: una peque auida que necesito con mkdir

Hola mi código me dio perfect pero tengo una inquietud sise podra que me guarde el id en mysql por carpeta como asi que cuando cree carpeta me cree un id no como antiguamente tengo por ruta de cada foto si se podría??
  #7 (permalink)  
Antiguo 25/04/2016, 19:36
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: una peque auida que necesito con mkdir

si puedes guardar solo el nombre o un id de cada carpeta nueva y cada ve que vas a subir una nueva image haces una pre-consulta a db para extraer el nombre de la carpeta vigente o que no
tiene el limite de imagen.
pero al no guardar la ruta de cada imagen en la db tendrás que usar otro método para paginar o
mostrar las imágenes. el codigo que te deje arriba solo le quitas el count() y te muestra los
nombres de las imágenes en cada carpeta que le des solo te haces una class o te consigues una
por ahi en Internet para paginar las imágenes desde carpeta.
creo no estoy seguro conservo una class que paginaba muy bien las imágenes en carpeta
pero no recuerdo la web del autor hace como 9 años
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #8 (permalink)  
Antiguo 26/04/2016, 09:56
Avatar de cartau07  
Fecha de Ingreso: diciembre-2015
Ubicación: medellin
Mensajes: 95
Antigüedad: 8 años, 3 meses
Puntos: 1
Respuesta: una peque auida que necesito con mkdir

hola ya lo hice pero colocando el nombre de álbum pero al tratar de crearlo no me daa no se que estoy haciendo mal dejo codigo
Código PHP:
<?php
header
('Content-type: text/html; charset=UTF-8');
 include 
'Conection.php';

$nombre $_POST["nombre"]; 
$descripcion=$_POST["descripcion"];
$carpeta='Imagenes/album/';
$upload='Imagenes/album/'.$nombre.'/';
$total =count($_FILES["archivos"]["name"]);
 for (
$i=0$i $total $i++) {

    
$tipo$_FILES["archivos"]["type"][$i];   
    
$foto =$_FILES["archivos"]["name"][$i];
    
$ruta $_FILES["archivos"]["tmp_name"][$i];
if (
$total>=1){
     
mkdir($upload,0777);
  
$carpeta=$upload;

    
$prefijo substr(md5(uniqid(rand())),0,6);
    
//generamos una id para poder tener imagenens repetidas
    
echo $destino=$carpeta.$prefijo."_".$foto;
    
$ruta_imagen $destino;

$miniatura_ancho_maximo 1000;
$miniatura_alto_maximo 700;
$info_imagen getimagesize($ruta_imagen);
$imagen_ancho $info_imagen[0];
$imagen_alto $info_imagen[1];
$imagen_tipo $info_imagen[$tipo];

switch ( 
$imagen_tipo ){
  case 
"image/jpg":
  case 
"image/jpeg":
    
$imagen imagecreatefromjpeg($ruta_imagen);
    break;
  case 
"image/png":
    
$imagen imagecreatefrompng$ruta_imagen);
    break;
  case 
"image/gif":
    
$imagen imagecreatefromgif($ruta_imagen );
    break;
}
$lienzo imagecreatetruecolor$miniatura_ancho_maximo$miniatura_alto_maximo );

imagecopyresampled($lienzo$imagen0000$miniatura_ancho_maximo$miniatura_alto_maximo$imagen_ancho$imagen_alto);
imagejpeg($lienzo,$ruta_imagen100);
move_uploaded_file($ruta$destino);
    
$status "La imagen <b>".$foto."</b> se ha subido correctamente !"
    
     
//Creamos la miniaturas
          
$source=$destino
          
$destmini='Imagenes/img/'.$prefijo."_".$foto;//ruta donde se guardan las miniaturas
          
$width_d=240// ancho de la imagen
          
$height_d=240// alto de la imagen

          //copyamos la miniatura
          
list($width_s$height_s) = getimagesize($source);
          
$gd_s imagecreatefromjpeg($source); 
          
$gd_d imagecreatetruecolor($width_d$height_d);  
          
imagecopyresampled($gd_d$gd_s0000$width_d$height_d$width_s$height_s);
          
imagejpeg($gd_d$destmini,100); 
      
 
$query ="INSERT INTO album(idAlbum,ruta,nombre,ruta_min,descripcion)
                    VALUES (null,'$destino','$nombre',
                      '$descripcion',$destmini')"
;
$resultmysqli_query($conexion,$query
or die(
mysqli_error($conexion));

  } 
 }
  
?>

Última edición por cartau07; 03/05/2016 a las 07:45

Etiquetas: mkdir, sql
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 23:07.