| |||
| [Aporte] Subir Imagenes PHP con POO y PDO Mi aporte sin tuto por falta de caracteres :s Orden -/raiz/ : raiz/imagenes/ raiz/librerias/ raiz/librerias/clases.php raiz /librerias/clase_imagen.php raiz/librerias/bd/PDO_bd.php raiz/config.php raiz/subir.html raiz/subir.php subir.html: Código HTML: <!-- /* * SurKaiser * Aplicacion Subir Imagen Alpha-1.0 * http://www.surkaiser.com.es/ * * $subir.html * Ultima modificacion : 11/01/2012 by SurKaiser */ --> <html> <head> <title>Subir imagen por SurKaiser</title> <meta name="autor" content="SurKaiser"> </head> <body> <table width="50%" align="center"> <tr> <td width="25%">Selecciona una imagen</td> <td width="25%"> Archivos permitidos : *jpg, *bmp, *png y *gif</td> </tr> <form action="subir.php" method="post" enctype="multipart/form-data"> <tr> <td> </td> <td><input type="file" name="imagen" /></td> </tr> <tr> <td> </td> <td><input type="submit" value="enviar"></td> </tr> </form> </table> </body> </html> Código PHP: Código PHP: Código PHP: Código PHP: Código PHP:
__________________ "El Conocimiento Es Poder |
| |||
| Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO Info Esta es una simple funcion de subir una imagen al servidor, pero esta vez de ser una funcion se transformara en una aplicacion o un script como ustedes lo miren, la version anterior era una funcion basica(la podras encontrar al final del post) para subir imagenes, no hubo sugerencias de como hubieran querido mejorar la funcion , asi que empeze mejorandola a como comunmente se usan en muchos sitios web o incluso en foros para asignarle una imagen a un usuario.(Se puede adaptar a phpost) o puedes dar sugerencias de como lo quieres o en donde pondrias una apli para subir archivos en phpost, en fin sino hay esa opcion este post es con animos de enseñanza Esta vez es la version Alpha-1.0 y la ire mejorando en cuanto pueda y tambien se ira adaptando segun sugerencias de los usuarios. Version Alpha-1.0 Cambios en la version (La anterior esta hasta abajo y fue puesta en otra web): *Interfaz completamente mejorada y cambiada * Implementacion de OOP * Implementacion de PDO * Implementacion de bases de datos - Ahora la direccion de los archivos se almacena en la bd - Proximamente implementacion de nombre y descripcion de la imagen segun usuario *Uso multiple con bases de datos -Se implemento el uso con diversas bases de datos (Proximamente mas) -Bases de datos soportadas hasta esta version : ^- Mysql (Estado : Funcionando al 100% , aparentemente no ha dado fallos) ^- Oracle (Estado: Beta - aun no se confirma que funcione(no testeada) , es necesario probarse) ^- Postgresql (Estado : Beta - aun no se testea y se confirma que funcione, es necesario testear) *Asignacion de nombre random a la imagen -Ahora se le asigna un nombre random a cada imagen subida, esto para evitar conflictos a futuro *Archivo de configuracion($config.php) -Posibilidad de cambiar carpeta de almacenamiento -Posibilidad de cambiar tipo de base de datos -Asignacion de servidor,bd,usuario y clave de base de datos -Posibilidad de añadir o quitar extensiones de los archivos .- Ahora puedes decidir que archivos permitir (.jpg,.jpeg etc.) -Posibles fallos (bugs) : *Si no existe la carpeta de almacenamiento se creara automaticamente (requiere de permisos 755 a subir.php) *Uso de bds Oracle y Postgresql : posible fallo de uso con estas bases de datos aun no se ha probado el script aqui PD : SI ENCUENTRAS ALGUNO POR FAVOR REPORTALO AQUI.
__________________ "El Conocimiento Es Poder |
| |||
| Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO [TUTORIAL INSTALACION] Muy bien ya tenemos todos los archivos ahora necesitamos crear una base de datos, y dentro una tabla de nombre imagenes, aqui te dejo el codigo sql listo para ejecutar: sql.sql : Código HTML: CREATE TABLE `imagenes` ( `imagen_id` INT( 20 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `nombre` VARCHAR( 100 ) NOT NULL , `descripcion` TINYTEXT NOT NULL , `url` VARCHAR( 250 ) NOT NULL ) ENGINE = MYISAM ; Nos dirijimos a esta parte : Código PHP: Código PHP: Código PHP: Código PHP: Código PHP: Código PHP: Código PHP: Código PHP: Excelente ya tenemos instalada nuestra aplicacion y lista para funcionar ![]() :razz:Pronto una muestra de como funciona , recuerden dar sugerencias y/o cosas que les gustaria lograr con imagenes para adaptar tambien a su sitio. Saludos ------------VERSIONES ANTERIORES (SUBIDA A OTRA WEB)--------------- Version Alpha-0.1 : - Archivo subir.php - Carpeta con imagenes subidas. - Examinar y confirmar que el archivo sea una imagen. - Extensiones disponibles : .jpg, .bmp, .gif, .png Para que funcione deben de crear una carpeta de nombre : "imagenes" en donde se encuentra el archivo subir.php subir.php : Código PHP: Por ahora eso es todo , pueden editarla a su gusto o darme sugerencias para continuar.
__________________ "El Conocimiento Es Poder |
| ||||
| Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO Muy bueno el aporte pero no estás teniendo en cuenta varios errores...
Código PHP:
Ver originalCopiar me podrías explicar esa parte en la clase subir. ¿Para qué una constante con el nombre string sin definir? edit: Me funciona bien y se valora mucho el uso de PDO. +1 Pd: seguiré leyendo el código. Gracias.
__________________ Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP Última edición por andresdzphp; 29/01/2012 a las 16:32 |
| ||||
| Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO También no veo el caso de que crees varias clases, y heredes de ellas, por ejemplo la clase extension que extiende de subir no tiene mucho caso. Es mejor un diseño más limpio para tu diseño de clases. |
| |||
| Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO Cita: Buen punto lo del string, creo que es inecesario lo reviso
Iniciado por andresdzphp Muy bueno el aporte pero no estás teniendo en cuenta varios errores...
Código PHP:
Ver originalCopiar me podrías explicar esa parte en la clase subir. ¿Para qué una constante con el nombre string sin definir? edit: Me funciona bien y se valora mucho el uso de PDO. +1 Pd: seguiré leyendo el código. Gracias. Gracias amigo por el punto :P Cita: Gracias por la sugerencia es buena la idea intentare continuarla apartir de lo que me propones
Iniciado por iovan Si utiliza PDO entonces si que funciona 100% para todas esas y más ![]() Gracias por el aporte =D. Sabes, podrías crear una clase que valide distintos formatos de archivos, comprima, descomprima, haga modificaciones en imágenes como escribir texto, cambiar tonalidades, etc.., redimencionar imágenes... Si la haces y la subes intenta subirla a php clases, eso sería buen aporte :D saludos un saludo Cita: Tambien existen otras 2 clases para un mejor uso del PDO que no las uso , decidi parar hasta el momento cree esas clases iba a seguir continuando pero lo deje por el momento asi ya que es base para continuar para muchas ideas de diferentes tipos, si continuaba mi idea podria terminar inservible para muchos usuarios , tambien quiero profundizar llevando acabo las ideas de los usuarios como la sugerencia de iovanSaludos!
__________________ "El Conocimiento Es Poder |
| |||
| Respuesta: [Aporte] Subir Imagenes PHP con POO y PDO hola buenas quería saber como subo una imagen de un file a una carpeta y que me la lea en la BD que esta en postgresql que por mas que lo intento no sale... este es mi codigo de la BD create table ajustes_slider( id serial, ruta character varying (250) url character varying (250) PK_id ahora lo que tengo es esto: Guardarimg.php <?php $max=1500000; $nombreclean=htmlspecialchars($email); $nuevodirectorio="_img/$nombreclean"; mkdir ($nuevodirectorio); $uploaddir = "$nuevodirectorio/"; $filesize = $_FILES['upfile']['size']; $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))){ $uploadfile = $uploaddir . $filename; if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile)) { print("Archivo subido correctamente"); } else { print("Error de conexión con el servidor."); } } else { print("Sólo se permiten imágenes en formato jpg. y gif., no se ha podido adjuntar."); } } else { print("<br><br>Campo vacío, no ha seleccionado ninguna imagen"); } } else { print("<br><br>La imagen que ha intentado adjuntar es mayor de 1.5 Mb, si desea cambie el tamaño del archivo y vuelva a intentarlo."); } ?> y index.php <?php session_start(); define('RAIZ',"",""); include(RAIZ."_partes/_parte1.php"); include(RAIZ."_bib/class_panelcontrol.php"); ?> <script language="javascript"> <!-- function confirmar(id){ if(confirm("¿Esta seguro de que desea eliminar esta imagen?")) window.location='eliminarImagen.php?id='+id; } function desplegar(){ if(document.getElementById('nuevo').style.visibili ty == "visible") document.getElementById('nuevo').style.visibility = "collapse"; else document.getElementById('nuevo').style.visibility = "visible"; } // --> </script> <div id="ed_1"> <div class="titulo-cont"> Listado de fotos del Slider </div> <div id="ed_2"> <form name="guardarcambios" action="guardarimg.php" method="post"> <table class="listado" cellspacing="0"> <tr> <th class="centrado" title="Vista preliminar">Imagen</th> <th class="centrado" title="url de la pagina">Url</th> <th>Añade imagen <input type="file" class="imagen " /></th> </tr> <?php $i=-1; $array=array(); foreach (PanelControl::sliderRuta() as $ruta){ $array[]=$ruta; } foreach (PanelControl::sliderUrl() as $url) { $i++; ?> <tr> <td class="centrado" width="450"><img style="margin: 0 auto; height:100px; width:125px" src="<?php echo $array[$i];?>" alt="Imagen del slider" /></td> <td class="centrado" width="200"><input type="text" title="url" value="<?php echo $url; ?>" /> </td> <td class="modificar_eliminar"><a href="javascript:confirmar('<?php echo PanelControl::recogeid();?>') title="Eliminar imagen"><img src="<?php echo RAIZ;?>_img/eliminar.jpg" alt="Eliminar" /></a></td> </tr> <?php } ?> <tr> <td colspan="6"><!-- <p><a href="imagenes-edicion.php" title="Ver la lista de imgenes de edición">Ver imágenes de edición</a></p>--> <div class="centrado"> <input class="btn_panel" onmouseover="this.style.color='#000'; this.style.background='#DEF';this.style.border='#3 33 inset 2px';" onmouseout="this.style.color='#FFF'; this.style.background='#46a';this.style.border='#0 00 outset 2px';" type="submit" name="guardarcambios" value="Guardar" title="Guardar Publicaciones" \> </div></td> </tr> </table> </form> <br clear="all"/> </div> <div id="ed_3"></div> </div> <?php include (RAIZ . "_partes/_parte2.php"); ?> gracias por la ayuda |