Comunidad de diseño web y desarrollo en internet online

ayuda de como verificar extencion y tamaño de foto

Citar            
MensajeEscrito el 26 Ene 2010 03:57 pm
buensa.. les cuento tengo un script simple para verificar tamaño de imagen y extencion.. pero no me marcha alguien sabe decirme como hacerlo..

el hecho es asi

aqui se pueden subir hasta 5 fotos a la misma vez entre otras cosas... yo tengo que verificar la extencion y el peso de las fotos..

pero cabe tambien la posibilidad de que cargen el formulario solo con los datos y no pongan fotos. esta es la parte que me complico porque no puedo saltear la verificacion.. y tanto la remodele que ya ni se si marcha.. yo aqui les paso el codigo.. si alguien sabe decirme coom verificar las mismas. contando que pude que no se suban fotos . en el caso de que no se suban fotos se tiene que continuar con el formulario igual.. que aqui esta mi drama..

este es mi codigo..

if ($_POST[enviar] != "") {
$directorio = '../fotosindex';
$_FILES['foto1']['size'];
$_FILES['foto1']['type'];
$_FILES['foto2']['size'];
$_FILES['foto2']['type'];
$_FILES['foto3']['size'];
$_FILES['foto3']['type'];
$_FILES['foto4']['size'];
$_FILES['foto4']['type'];
$_FILES['foto5']['size'];
$_FILES['foto5']['type'];

//for ($i=1; $i<=5; $i++){

if ($_FILES['foto1']!=='')
{
if (strtolower(substr($_FILES['foto1']['type'],-4))!="jpeg" && strtolower(substr($_FILES['foto1']['type'],-3))!="png" && strtolower(substr($_FILES['foto1']['type'],-3))!="gif" && $_FILES['foto1']['size']>20480000);
{
echo no;
}}

else
{



(move_uploaded_file($_FILES['foto1']['tmp_name'], $directorio.'/'. $_FILES['foto1']['name']));
(move_uploaded_file($_FILES['foto2']['tmp_name'], $directorio.'/'. $_FILES['foto2']['name']));
(move_uploaded_file($_FILES['foto3']['tmp_name'], $directorio.'/'. $_FILES['foto3']['name']));
(move_uploaded_file($_FILES['foto4']['tmp_name'], $directorio.'/'. $_FILES['foto4']['name']));
(move_uploaded_file($_FILES['foto5']['tmp_name'], $directorio.'/'. $_FILES['foto5']['name']));

$GuardarEn="../fotosindex/";
$GuardarEnimages="../images/";


$user='root';
$pass='123456';
$dbhost='localhost';
$dbname='web246-proyecto';


mysql_connect($dbhost,$user,$pass) or die ("error coneccion 001");
mysql_select_db($dbname) or die("error database 001");



$tel=$_POST['tel'];
$cel=$_POST['cel'];
$ano=$_POST['ano'];
$puertas=$_POST['puertas'];
$cilindrada=$_POST['cilindrada'];
$combustible=$_POST['combustible'];
$camino=$_POST['kilometros'];
$precio=$_POST['precio'];
$direccion=$_POST['direccion'];
$transmision=$_POST['transmision'];
$inyeccion=$_POST['inyeccion'];
$audio=$_POST['audio'];
$espejos=$_POST['espejos'];
$vidrios=$_POST['vidrios'];
$parabrisas=$_POST['parabrisas'];
$turbo=$_POST['turbo'];
$aire=$_POST['aire'];
$faros=$_POST['faros'];
$llantas=$_POST['llantas'];
$abs=$_POST['abs'];
$valvulas=$_POST['valvulas'];
$techo=$_POST['techo'];
$bloqueo=$_POST['bloqueo'];
$airbag=$_POST['airbag'];
$alarma=$_POST['alarma'];
$foto1=$_FILES['foto1'];
$foto2=$_FILES['foto2'];
$foto3=$_FILES['foto3'];
$foto4=$_FILES['foto4'];
$foto5=$_FILES['foto5'];
$extra=$_POST['extra'];
$modelo=$_POST['modelo'];
$str=$_POST['marca'];
$long=strlen($str)-1;
$marca = substr($str,0,$long);
$categoria=$_POST['categoria'];
if ($categoria==00){
$veiculo=auto;
}
elseif ($categoria==01){
$veiculo=camionetas;
}
elseif ($categoria==02){
$veiculo==camines;
}





if (empty($foto1)){
$guardar=$GuardarEnimages . 'car.png';
}
else
{
$guardar=$GuardarEn . $_FILES['foto1']['name'];
}
if (empty($foto2)){
$guardar1=$GuardarEnimages . 'car.png';
}
else
{
$guardar1=$GuardarEn . $_FILES['foto2']['name'];
}
if (empty($foto3)){
$guardar2=$GuardarEnimages . 'car.png';
}
else
{
$guardar2=$GuardarEn . $_FILES['foto3']['name'];
}
if (empty($foto4)){
$guardar3=$GuardarEnimages . 'car.png';
}
else
{
$guardar3=$GuardarEn . $_FILES['foto4']['name'];
}
if (empty($foto5)){
$guardar4=$GuardarEnimages . 'car.png';
}
else
{
$guardar4=$GuardarEn . $_FILES['foto5']['name'];
}
$img=$marca . '.jpg';

mysql_query("INSERT INTO auto (foto1, foto2, foto3, foto4, foto5, marca, modelo, direccion, combustible, aire, vidrios, llantas, extra, techo , ano , precio , img, camino, audio, alarma, cilindrada, transmision, bloqueo, abs, airbag, veiculo, valvulas, puertas, faros, parabrisas, espejos, turbo, inyeccion , tel, cel) VALUES ('$guardar', '$guardar1', '$guardar2', '$guardar3', '$guardar4', '$marca', '$modelo', '$direccion', '$combustible', '$aire', '$vidrios', '$llantas', '$extra', '$techo', '$ano', '$precio' ,'$GuardarEnimages$img' , '$camino' , '$audio' , '$alarma', '$cilindrada', '$transmision', '$bloqueo', '$abs', '$airbag', '$veiculo', '$valvulas', '$puertas', '$faros', '$parabrisas', '$espejos', '$turbo', '$inyeccion', '$tel', '$cel' )") or die ("no ingresa datos");

echo "<script type=\"text/javascript\">alert(\"Solicitud procesada, Veiculo dado de alta\");location.href='../publicar_veiculos.php'</script>";

}

}


?>

muchas gracias de antemano gente estoy muy trancado aqui y no puedo continuar con el trabajo.. espero puedan ayudarme

Por rrecarte

14 de clabLevel



 

opera
Citar            
MensajeEscrito el 26 Ene 2010 08:31 pm
Usa arrays en el formulario. El formulario debería ser así:

Código PHP :

<form name="form1" enctype="multipart/form-data" action="recibe.php" method="post">
<input type="file" name="foto[]"><br />
<input type="file" name="foto[]"><br />
<input type="file" name="foto[]"><br />
<input type="file" name="foto[]"><br />
<input type="submit" name="enviar">
</form>


Entonces en el script recibe.php tendrás un array $_FILES["foto"] que puedes recorrer con foreach así:

Código PHP :

foreach ($_FILES["foto"]["name"] as $key => $value) {
  echo "nombre del archivo ".$key." ".$value."<br />";
  echo "tipo del archivo ".$key." ".$_FILES["foto"]["type"][$key]."<br />";
  echo "tama&ntilde;o del archivo ".$key." ".$_FILES["foto"]["size"][$key]."<br />";
  echo "<hr>";
}


Así podrás saber qué campo del formulario cargó el usuario (controlando, por ejemplo, que el "size" del archivo sea mayor a cero).

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 27 Ene 2010 04:53 am
entiendo lo que tu me dices... el hecho. es que en caso de que no se suba una foto oq ue solo se suban 2 de las 5 el formulario debe ser guardado igual porque no es obligatorio subir fotos... ese es el problema que tengo... y no lo e podido solucionar...

Por rrecarte

14 de clabLevel



 

opera
Citar            
MensajeEscrito el 27 Ene 2010 02:35 pm
No entiendo por qué esos es un problema. Verificar si ha subido una foto es de lo más trivial.

Código PHP :

$hayfotos = false;
foreach($_FILES["foto"]["size"] as $key => $value) {
  if ($value > 0) { $hayfoto = true; }
}
if ($hayfoto) {
  ... verificar validez de las fotos aquí ...
}

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.