Publicado por |
|
 |
|
|
 |
| |
|
|
| |
como crear un host de imagenes para tu web
|
|
|
Fuente:
UnuK Cs!
Una comunidad de warez, peliculas, juegos, y todo lo que necesites conseguilo en:
http://www.unuk.com.ar/
La presente es un tutorial de como implementar un sistema de alojamiento de imágenes hecho en PHP, este ejemplo esta basado en Upload de Archivos con PHP,este sistema consiste en un formulario para seleccionar la imagen,luego se verifica el tipo de archivo para luego guardarlo en elservidor, finalmente se genera una ruta mediante el cual se puedeacceder a la imagen.
Crear el formulario
El primer paso es crear un formulario en donde se pueda seleccionar laimagen a subir, para ello el formulario debe tener la propiedad enctype="multipart/form-data" el cual permitirá enviar archivos mediante el formulario. Además de ello agregamos un campo input file llamado imagen.
HTML:[LIST=1]
•
<form action="" method="post" enctype="multipart/form-data">
•
<input name="imagen" type="file" size="35" />
•
<input name="enviar" type="submit" value="Upload Image" />
•
<input name="action" type="hidden" value="upload" />
•
</form>
Definir variables Iniciales
Antes de hacer el upload de la imagen, definimos nuestras variables,las cuales utilizaremos, primero creamos un numero aleatorio que loutilizaremos como nombre de la imagen, también definimos un array contodos los tipos de archivos que se aceptará, la ruta que le asignaremosa las imágenes y una variable donde guardaremos el estado del proceso.
PHP:[LIST=1]
•
$varrand = substr(md5(uniqid(rand())),0,10);
•
$varallw = array("image/bmp","image/gif","image/jpeg","image/pjpeg","image/png","image/x-png");
•
$varpath = "http://samples.unijimpe.net/imagehosting.php?image=";
•
$varstat = "";
Guardar la Imagen en el Servidor
El siguiente paso es guardar el archivo recién ingresado en el servidor, para ello tendremos una carpeta llamada tmpen donde almacenaremos los archivos. Lo primero es verificar si se hasubido correctamente el archivo, para ello utilizamos la función is_uploaded_file, luego obtenemos el mimetype del archivo para verificar que se esta subiendo solo imágenes y a continuación guardamos el archivo en la carpeta tmp.
PHP:[LIST=1]
•
if (is_uploaded_file($_FILES["imagen"]["tmp_name"])) {
•
$varname = $_FILES["imagen"]['name'];
•
$vartemp = $_FILES['imagen']['tmp_name'];
•
$vartype = mime_content_type($vartemp);
•
•
if (in_array($vartype, $varallw) && $varname != "") {
•
$arrname = explode(".", $varname);
•
$varname = $varrand.".".$arrname[1];
•
if (copy($vartemp, "tmp/".$varname)) {
•
$varpath = $varpath.$varname;
•
$varstat = "ok";
•
} else {
•
$varstat = "Error al subir el archivo";
•
}
•
} else {
•
$varstat = "Archivo no valido";
•
}
•
}
Mensaje de Confirmación
Si es que se ha completado el proceso, mostramos el mensaje deconfirmación, además de los enlaces para que pueda ser copiado ytambién mostramos la imagen recién subida.
HTML:[LIST=1]
•
<?php if ($varstat == "ok") { ?>
•
<strong>Confirmacion:</strong><br>
•
Archivo publicado satisfactoriamente.
•
Puedes utilizar las siguientes opciones para enlazarlo:<br>
•
<strong>Enlace Directo: </strong><br>
•
<input name="txt2" type="text" value="<?php echo $varpath; ?>">
•
<img src="tmp/<?php echo $varname; ?>">
•
<?php } ?>
Mostrar la imagen Archivada
Lo que sigue es mostrar la imagen guardada, basado en el enlace que seha brindado al usuario, en este enlace se pasa el nombre de la imagencomo parámetro GET, verificamos que exista esta variable y luegomostramos la imagen.
HTML:[LIST=1]
•
<?php if ($_GET['image'] != "") { ?>
•
<img src="tmp/<?php echo $_GET['image']; ?>">
•
<?php } ?>
Finalizando
El paso final es unir todas estas partes en un solo archivo y agregarleuna hoja de estilos para mejorar la apariencia.
|
|
|
Comentarios de los usuarios
|
|
|
|
|
|
| |
|
buenisimo... estoy haciendo una web con un amigo y necesitamos saber como hacer un foro y unas cosas de php.... nos podes ayudar?.. mandame MP
|
|
|
| |
|
Te mandaria un mp pero... yo tambien estoy haciendo una web y estoy aprendiendo algo pero de foro ni idea me gustaria ayudarte pero de foro no se nada, saludos
|
|
|
| |
|
ok buenisimo.. gracias por responder
|
|
|
| |
|
ok buenisimo.. gracias por responder
|
|
| |
|