Vamos a ver, quiero subir un ficho y si se llama imagen.gif que se suba como 'rand().imagen.fig
Cogiendo un código ya creado para ahorrar tiempo, tengo:
El formulario aquí:
<form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data" name="form1">
<p align="center">Archivo
<input name="archivo" type="file" id="archivo">
</p>
<p align="center"><input name="boton" type="submit" id="boton" value="Enviar"></p>
</form>
En cuanto al PHP que lo guarda:
<?
if($boton) {
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {
copy($HTTP_POST_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);
$subio = true;
}
if($subio) {
echo "El archivo subio con exito";
} else {
echo "El archivo no cumple con las reglas establecidas";
}
die();
}
?>
El problema es que quiero que se guardar en una carpeta llamada 'img' y que tenga lo del nombre aleatorio, pero no se como hacer eso sin estropearlo.
Thanks.
checate
formulario para upload imagen
<form id="signupform" name="formulario" autocomplete="off" action="insertar.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" class="required"/>
<input type="submit" name="button" id="button" value="Enviar" />
</form>
pagina que recibe
<?php
$clave=rand(5, 15);
$destino='img';//nombre de la carpeta
$imagen= $_FILES['file']['name'];
$tipo_archivo = $_FILES['file']['type'];
$tamano_archivo = $_FILES['file']['size'];
$nomimag=$clave.'.jpg';
if (strpos($tipo_archivo, "jpeg") || strpos($tipo_archivo, "jpg" ))
{
if (move_uploaded_file($_FILES['file']['tmp_name'],$destino.'/'.$nomimag))
{
//aqui instuccion sql
}
}
?>
NOTA:crea una carptea llamda img en done estes guardando tus archivos
Gracias RedZer.
Te recomiendo que crees un buen filtro porque te pueden subir una PHP shell.
Cita de: ~ Yoya ~ en 16 Mayo 2011, 23:52 PM
Te recomiendo que crees un buen filtro porque te pueden subir una PHP shell.
con el code que puse??
Si compañero, el código es vulnerable.
$_FILES['file']['type'];
Contiene el valor de Contend-Type: y es modificable. Asi que puede ser que estés subiendo un archivo PHP pero le indicas que es un archivo de imagen y lo dejaría subir.
Cita de: ~ Yoya ~ en 17 Mayo 2011, 00:14 AM
Si compañero, el código es vulnerable.
$_FILES['file']['type'];
Contiene el valor de Contend-Type: y es modificable. Asi que puede ser que estés subiendo un archivo PHP pero le indicas que es un archivo de imagen y lo dejaría subir.
:o lo desconocia gracias
~ Yoya ~ tendras un ejemplo a la mano de como seria el filtro ?
Puedes leer este POST que lo escribo SH4V:
PHP upload security (http://foro.elhacker.net/nivel_web/php_upload_security-t277601.0.html)
Cita de: ~ Yoya ~ en 17 Mayo 2011, 00:22 AM
Puedes leer este POST que lo escribo SH4V:
PHP upload security (http://foro.elhacker.net/nivel_web/php_upload_security-t277601.0.html)
realmente desconocia esto. gracias por la info ~ Yoya ~