Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Greseala in script care detecteaza tipul fisierului
#1
Daca plasez o imagine totul merge bine si se deschide fisierul image.php, dar daca plasez un video, o arhiva sau un fisier mp3 se deschide fisierul error.php, eu cred ca greseala este in declararea tipurilor de fisiere, caci leam scris din "instinct" si nu din surse sigure. Codul php:
PHP Code:
<?php
 
if ((($_FILES["file"]["type"] == "image/png")
 || (
$_FILES["file"]["type"] == "image/jpeg")
 || (
$_FILES["file"]["type"] == "image/jpg")
 || (
$_FILES["file"]["type"] == "image/gif"))
 && (
$_FILES["file"]["size"] < 500000))
    {
    include 
"image.php";
    }
        else
        {
        if ((
$_FILES["file"]["type"] == "video/flv")
        && (
$_FILES["file"]["size"] < 20000000))
        {
        include 
"video.php";
        }
            else
            {
                if(((
$_FILES["file"]["type"] == "arhive/zip")
                 ||(
$_FILES["file"]["type"] == "arhive/rar"))
                 && (
$_FILES["file"]["size"] < 20000000))
                 {
                 include 
"arhive.php";
                 }
                    else
                    {
                    if ((
$_FILES["file"]["type"] == "music/mp3")
                    && (
$_FILES["file"]["size"] < 8000000))
                    {
                    include 
"music.php";
                    }
                        else
                        {
                        include 
"error.php";
                        }
                    }
            }
        }
 
?>
Un forum simplu pentru toti, si pentru ca parerea ta conteaza!
Reply
Anunt important
Daca ti-a fost de folos articolul de mai sus te rugam sa ne sustii in semn de apreciere.
Ar insemna foarte mult pentru noi daca ai apasa oricare din butoanele de recomandare de mai jos (in special pe cel de facebook) sau chiar pe mai multe.
Faptul ca suntem apreciati ne motiveaza sa facem o treaba mai buna si implicit sa oferim mai mult, ajuta comunitatea sa creasca.


#2
La prima vedere vad ca folosesti mai multe else la un if .. cand ar trebui sa folosesti eleseif si doar ultimul cu includeul cu eroarea sa aibe else, o abordare mai ok din punctul meu de vedere (dar nu cea mai buna) ar fi asta:

PHP Code:
<?php
#definiri variabile
$file_type $_FILES["file"]["type"];
$file_size $_FILES["file"]["type"];

#daca e foto
if($file_type == "image/png" OR 
   
$file_type == "image/jpeg" OR
   
$file_type == "image/jpg" OR
   
$file_yupe == "image/gif"){
   
   
#daca corespunde ca marime
   
if($file_size 500000){
    include 
'image.php';
    
$succes 1;
    }
    else{
    
$succes 0;
    }
}

#daca e arhiva
if ($file_type == "video/flv"){

    
#daca corespunde ca marime
    
if($file_size 20000000)){
    include 
'archive.php';
    
$succes 1;
    }
    else{
    
$succes 0;
    }
}





#daca avem 0 in $succes inseamna ca nu am avut un fisier recunoscut
if($succes == 0){
    include 
'error.php';
}

?>
Reply
#3
PHP Code:
<?php
include "header.php";
$size $_FILES["file"]["size"];
include 
"ext.php";

 if (((
$ext == "png")
 || (
$ext == "PNG")
 || (
$ext == "jpeg")
 || (
$ext == "JPEG")
 || (
$ext == "jpg")
 || (
$ext == "JPG")
 || (
$ext == "gif")
 || (
$ext == "GIF")
 || (
$ext == "psd")
 || (
$ext == "PSD")
 || (
$ext == "pdd")
 || (
$ext == "PDD"))
 && (
$size 1000000))
    {
    include 
"image.php";
    }
        else
        {
        if (((
$ext == "flv")
        || (
$ext == "FLV"))
        && (
$size 20000000))
        {
        include 
"video.php";
        }
            else
            {
                if(((
$ext == "zip")
                 ||(
$ext == "ZIP")
                 ||(
$ext == "rar")
                 ||(
$ext == "RAR"))
                 && (
$size 20000000))
                 {
                 include 
"arhive.php";
                 }
                    else
                    {
                    if (((
$ext == "mp3")
                    || (
$ext == "MP3"))
                    && (
$size 8000000))
                    {
                    include 
"music.php";
                    }
                        else
                        {
                        include 
"error.php";
                        }
                    }
            }
        }
include 
"footer.php";
 
?>
pina la final mam descurcat cu tote instructiunile if si else;
Un forum simplu pentru toti, si pentru ca parerea ta conteaza!
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Editare fragment de mod care detecteaza dispozitivele mobile nickname 2 4,163 07-29-2012, 12:22 PM
Last Post: nickname
  problema script upload ovidi2012 1 4,439 11-16-2009, 11:49 AM
Last Post: casperel



Users browsing this thread: 1 Guest(s)