Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Estensioni file

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227

    Estensioni file

    Ciao a tutti e Buona pasqua!
    Ho un piccolo problema ma non capisco quale sia l'errore, questo è il codice:

    Codice PHP:
    $estraggo preg_match_all("/^.*(\..*)$/",$basename_nospace,$matches); 
    $extension_normal $matches[1][0]; 
    $extension strtolower($extension_normal); 
     
    $typeofile "other"

    //Immagini
    //*.bmp;*.gif;*.jpeg;*.jpg;*.pict;*.png;*.tga;*.tiff;*.djvu;*.pcx;*.cpd;*.jpd;*.gpd;*.ico;
    if($extension == ".bmp"){ $typeofile "image"; } 
    elseif(
    $extension == ".gif"){ $typeofile "image"; } 
    elseif(
    $extension == ".jpeg"){ $typeofile "image"; } 
    elseif(
    $extension == ".jpg"){ $typeofile "image"; } 
    elseif(
    $extension == ".pict"){ $typeofile "image"; } 
    elseif(
    $extension == ".png"){ $typeofile "image"; }
    elseif(
    $extension == ".tga"){ $typeofile "image"; }
    elseif(
    $extension == ".tiff"){ $typeofile "image"; }
    elseif(
    $extension == ".djvu"){ $typeofile "image"; }
    elseif(
    $extension == ".pcx"){ $typeofile "image"; }
    elseif(
    $extension == ".cpd"){ $typeofile "image"; }
    elseif(
    $extension == ".jpd"){ $typeofile "image"; } 
    elseif(
    $extension == ".ico"){ $typeofile "image"; } 
    //Video
    //*.3gp;*.asf;*.avi;*.divx;*.mpeg;*.mp4v;*.ogm;*.wmv;*.f4v;*.mp4;*.mov;*.mkv;*.rm;*.vob;*.svi;
    elseif($extension == ".3gp"){ $typeofile "video"; } 
    elseif(
    $extension == ".asf"){ $typeofile "video"; } 
    elseif(
    $extension == ".avi"){ $typeofile "video"; } 
    elseif(
    $extension == ".divx"){ $typeofile "video"; } 
    elseif(
    $extension == ".mpeg"){ $typeofile "video"; } 
    elseif(
    $extension == ".mp4v"){ $typeofile "video"; } 
    elseif(
    $extension == ".ogm"){ $typeofile "video"; } 
    elseif(
    $extension == ".wmv"){ $typeofile "video"; } 
    elseif(
    $extension == ".f4v"){ $typeofile "video"; } 
    elseif(
    $extension == ".mp4"){ $typeofile "video"; } 
    elseif(
    $extension == ".mov"){ $typeofile "video"; } 
    elseif(
    $extension == ".mkv"){ $typeofile "video"; } 
    elseif(
    $extension == ".rm"){ $typeofile "video"; } 
    elseif(
    $extension == ".rm"){ $typeofile "video"; } 
    elseif(
    $extension == ".vob"){ $typeofile "video"; } 
    elseif(
    $extension == ".svi"){ $typeofile "video"; } 
    //Audio
    //*.aac;*.ac3;*.aiff;*.amr;*.bwf;*.cda;*.flac;*.iff;*.mid;*.mka;*.mp1;*.mp2;*.mp3;*.m4a;*.riff;*.pca;*.ra;*.rm;*.ogg;*.wav;*.wma;*.xm;
    elseif($extension == ".aac"){ $typeofile == "audio"; } 
    elseif(
    $extension == ".ac3"){ $typeofile == "audio"; }
    elseif(
    $extension == ".aiff"){ $typeofile == "audio"; }
    elseif(
    $extension == ".amr"){ $typeofile == "audio"; }
    elseif(
    $extension == ".bwf"){ $typeofile == "audio"; }
    elseif(
    $extension == ".cda"){ $typeofile == "audio"; }
    elseif(
    $extension == ".flac"){ $typeofile == "audio"; }
    elseif(
    $extension == ".iff"){ $typeofile == "audio"; }
    elseif(
    $extension == ".mid"){ $typeofile == "audio"; }
    elseif(
    $extension == ".mka"){ $typeofile == "audio"; }
    elseif(
    $extension == ".mp1"){ $typeofile == "audio"; }
    elseif(
    $extension == ".mp2"){ $typeofile == "audio"; } 
    elseif(
    $extension == ".mp3"){ $typeofile == "audio"; }
    elseif(
    $extension == ".mp3"){ $typeofile == "audio"; }
    elseif(
    $extension == ".m4a"){ $typeofile == "audio"; }
    elseif(
    $extension == ".riff"){ $typeofile == "audio"; }
    elseif(
    $extension == ".pca"){ $typeofile == "audio"; }
    elseif(
    $extension == ".ra"){ $typeofile == "audio"; }
    elseif(
    $extension == ".ac"){ $typeofile == "audio"; }
    elseif(
    $extension == ".rm"){ $typeofile == "audio"; }
    elseif(
    $extension == ".ogg"){ $typeofile == "audio"; }
    elseif(
    $extension == ".wav"){ $typeofile == "audio"; }
    elseif(
    $extension == ".wma"){ $typeofile == "audio"; }
    elseif(
    $extension == ".xm"){ $typeofile == "audio"; } 
    //Grafica vettoriale
    //*.ai;*.cdr;*.drv;*.dgn;*.dwg;*.dxf;*.edwr;*.flt;*.fla;*.igs;*.flp;*.par;*.prt;*.sat;*.stl;*.svg;*.pln;*.pla;*.c4d;*.psd;*.flv;*.swf;
    elseif($extension == ".ai"){ $typeofile == "illustrator"; } 
    elseif(
    $extension == ".cdr"){ $typeofile == "vector"; }
    elseif(
    $extension == ".drv"){ $typeofile == "vector"; }
    elseif(
    $extension == ".dgn"){ $typeofile == "vector"; }
    elseif(
    $extension == ".dwg"){ $typeofile == "vector"; }
    elseif(
    $extension == ".dxf"){ $typeofile == "vector"; }
    elseif(
    $extension == ".edwr"){ $typeofile == "vector"; }
    elseif(
    $extension == ".flt"){ $typeofile == "vector"; }
    elseif(
    $extension == ".fla"){ $typeofile == "flash"; }
    elseif(
    $extension == ".flv"){ $typeofile "flash"; } 
    elseif(
    $extension == ".swf"){ $typeofile "flash"; } 
    elseif(
    $extension == ".igs"){ $typeofile == "vector"; }
    elseif(
    $extension == ".flp"){ $typeofile == "vector"; }
    elseif(
    $extension == ".par"){ $typeofile == "vector"; }
    elseif(
    $extension == ".prt"){ $typeofile == "vector"; }
    elseif(
    $extension == ".sat"){ $typeofile == "vector"; }
    elseif(
    $extension == ".stl"){ $typeofile == "vector"; }
    elseif(
    $extension == ".svg"){ $typeofile == "vector"; }
    elseif(
    $extension == ".pln"){ $typeofile == "vector"; }
    elseif(
    $extension == ".pla"){ $typeofile == "vector"; }
    elseif(
    $extension == ".c4d"){ $typeofile == "3d"; }
    elseif(
    $extension == ".psd"){ $typeofile == "photoshop"; }
    //File compressi
    //*.bz2;*.gz;*.tar;*.zip;*.jar;*.rar;*.7z;*.ace;*.arj;*.arc;*.cab;*.bin;*.hqx;*.iso;*.lha;*.mdf;*.sit;*.zoo;*.toast;*.sitx;*.torrent;*.ctt;
    elseif($extension == ".bz2"){ $typeofile == "archive"; }
    elseif(
    $extension == ".gz"){ $typeofile == "archive"; }
    elseif(
    $extension == ".tar"){ $typeofile == "archive"; }
    elseif(
    $extension == ".zip"){ $typeofile == "archive"; }
    elseif(
    $extension == ".jar"){ $typeofile == "archive"; }
    elseif(
    $extension == ".rar"){ $typeofile == "archive"; }
    elseif(
    $extension == ".7z"){ $typeofile == "archive"; }
    elseif(
    $extension == ".ace"){ $typeofile == "archive"; }
    elseif(
    $extension == ".arj"){ $typeofile == "archive"; }
    elseif(
    $extension == ".arc"){ $typeofile == "archive"; }
    elseif(
    $extension == ".cab"){ $typeofile == "archive"; }
    elseif(
    $extension == ".bin"){ $typeofile == "archive"; }
    elseif(
    $extension == ".hqx"){ $typeofile == "archive"; }
    elseif(
    $extension == ".iso"){ $typeofile == "archive"; }
    elseif(
    $extension == ".lha"){ $typeofile == "archive"; }
    elseif(
    $extension == ".mdf"){ $typeofile == "archive"; }
    elseif(
    $extension == ".sit"){ $typeofile == "archive"; }
    elseif(
    $extension == ".zoo"){ $typeofile == "archive"; }
    elseif(
    $extension == ".toast"){ $typeofile == "archive"; }
    elseif(
    $extension == ".sitx"){ $typeofile == "archive"; }
    elseif(
    $extension == ".torrent"){ $typeofile == "torrent"; }
    elseif(
    $extension == ".ctt"){ $typeofile == "msn"; } //MSN Messenger contact list
    //Documenti
    //*.csv;*.txt;*.sgml;*.tex;*.ltx;*.pdf;*.rtf;*.xls;*.cwk;*.doc;*.ppt;*.docx;*.xlsx;*.pptx;
    elseif($extension == ".csv"){ $typeofile == "text"; }
    elseif(
    $extension == ".txt"){ $typeofile == "text"; }
    elseif(
    $extension == ".sgml"){ $typeofile == "text"; }
    elseif(
    $extension == ".tex"){ $typeofile == "text"; }
    elseif(
    $extension == ".ltx"){ $typeofile == "text"; }
    elseif(
    $extension == ".rtf"){ $typeofile == "text"; }
    elseif(
    $extension == ".pdf"){ $typeofile == "text"; }
    elseif(
    $extension == ".xls"){ $typeofile == "text"; }
    elseif(
    $extension == ".cwk"){ $typeofile == "text"; }
    elseif(
    $extension == ".doc"){ $typeofile == "office"; }
    elseif(
    $extension == ".ppt"){ $typeofile == "office"; }
    elseif(
    $extension == ".docx"){ $typeofile == "office"; }
    elseif(
    $extension == ".xlsx"){ $typeofile == "office"; }
    elseif(
    $extension == ".pptx"){ $typeofile == "office"; }
    //App
    //*.dmg;*.exe;*.app;*.ipa;
    elseif($extension == ".dmg"){ $typeofile == "mac"; }
    elseif(
    $extension == ".exe"){ $typeofile == "windows"; }
    elseif(
    $extension == ".app"){ $typeofile == "mac"; }
    elseif(
    $extension == ".ipa"){ $typeofile == "ipod"; }
    else{ 
    $typeofile "other"; } 
    /*END*/ 
    In breve, analizzo l'estensione del file e la classifico. Il problema è che funziona solo fino ai video, se carico una canzone, un file compresso o un semplice file di testo me lo classifica come other ._.
    Qualcuno potrebbe aiutarmi?

    Grazie in anticipo
    Alex

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227
    Ho parzialmente risolto ._. E' possibile che ci siano troppi IF?
    La trovo un po' strana come cosa però ho cambiato un po' e funziona..

    Codice PHP:
    <?php
    $typeofile 
    "other"
    if((
    $extension == ".gif") || ($extension == ".bmp") || ($extension == ".jpeg") || ($extension == ".jpg") || ($extension == ".pict") || ($extension == ".png") || ($extension == ".tga") || ($extension == ".tiff") || ($extension == ".djvu") || ($extension == ".pcx") || ($extension == ".cpd") || ($extension == ".jpd") || ($extension == ".ico")){ $typeofile "image"; }  

    elseif((
    $extension == ".3gp") || ($extension == ".asf") || ($extension == ".avi") || ($extension == ".divx") || ($extension == ".mpeg") || ($extension == ".mp4v") || ($extension == ".ogm") || ($extension == ".wmv") || ($extension == ".f4v") || ($extension == ".mp4") || ($extension == ".mov") || ($extension == ".mkv") || ($extension == ".rm") || ($extension == ".vob") || ($extension == ".svi")){ $typeofile "video"; }  

    elseif((
    $extension == ".aac") || ($extension == ".ac3") || ($extension == ".aiff") || ($extension == ".amr") || ($extension == ".bwf") || ($extension == ".cda") || ($extension == ".flac") || ($extension == ".iff") || ($extension == ".mid") || ($extension == ".mka") || ($extension == ".mp1") || ($extension == ".mp2") || ($extension == ".mp3") || ($extension == ".m4a") || ($extension == ".riff") || ($extension == ".pca") || ($extension == ".ra") || ($extension == ".ac") || ($extension == ".rm") || ($extension == ".ogg") || ($extension == ".wav") || ($extension == ".wma") || ($extension == ".xm")){ $typeofile "audio"; }  

    elseif(
    $extension == ".ai"){ $typeofile == "illustrator"; }  

    elseif((
    $extension == ".cdr") || ($extension == ".drv") || ($extension == ".dgn") || ($extension == ".dwg") || ($extension == ".dxf") || ($extension == ".edwr") || ($extension == ".flt") || ($extension == ".pla") || ($extension == ".pln") || ($extension == ".svg") || ($extension == ".stl") || ($extension == ".sat") || ($extension == ".stl") || ($extension == ".svg") || ($extension == ".pln") || ($extension == ".pla")){ $typeofile == "vector"; } 

    elseif((
    $extension == ".fla") || ($extension == ".flv") || ($extension == ".swf")){ $typeofile == "flash"; } 

    elseif(
    $extension == ".c4d"){ $typeofile == "3d"; } 
    elseif(
    $extension == ".psd"){ $typeofile == "photoshop"; }
     
    elseif((
    $extension == ".bz2") || ($extension == ".gz") || ($extension == ".tar") || ($extension == ".zip") || ($extension == ".jar") || ($extension == ".rar") || ($extension == ".7z") || ($extension == ".ace") || ($extension == ".arj") || ($extension == ".arc") || ($extension == ".cab") || ($extension == ".bin") || ($extension == ".hqx") || ($extension == ".iso") || ($extension == ".lha") || ($extension == ".mdf") || ($extension == ".sit") || ($extension == ".zoo") || ($extension == ".toast") || ($extension == ".sitx")){ $typeofile == "archive"; } 

    elseif(
    $extension == ".torrent"){ $typeofile == "torrent"; } 

    elseif(
    $extension == ".ctt"){ $typeofile == "msn"; } 

    elseif((
    $extension == ".csv") || ($extension == ".txt") || ($extension == ".sgml") || ($extension == ".tex") || ($extension == ".ltx") || ($extension == ".pdf") || ($extension == ".xls") || ($extension == ".cwk")){ $typeofile == "text"; } 

    elseif((
    $extension == ".doc") || ($extension == ".ppt") || ($extension == ".pptx") || ($extension == ".doc") || ($extension == ".docx") || ($extension == ".xlsx")){ $typeofile == "office"; } 

    elseif((
    $extension == ".dmg") || ($extension == ".app")){ $typeofile == "mac"; } 
    elseif(
    $extension == ".exe"){ $typeofile == "windows"; } 
    elseif(
    $extension == ".ipa"){ $typeofile == "ipod"; } 
    else{ 
    $typeofile "other"; }  
    ?>
    Ora funziona fino a audio -.- com'è possibile? a seconda di cosa è dovuto questo errore?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Non so il motivo per il quale considera i primi file, comunque c'è un errore nella regex:

    preg_match_all("/^.*(\..+)$/",$basename_nospace,$matches);

    Il primo punto deve essere escapato con \ altrimenti matcherà un qualsiasi carattere.
    Il + è per convenzione.
    La variabile non è necessaria.
    Dato che comunque nel file puoi solo matchare una volta, ti consiglio di usare un semplice preg_match.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227
    Grazie simo22, quindi dovrei scrivere una cosa simile?

    preg_match("/^\.*(\..)/",$basename_nospace,$matches);

    scusa l'ignoranza ma... che significa escapato? ^^"

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227
    Scusate! Ho capito il perchè, uno stupidissimo errore! ^^"
    esempio:

    elseif($extension == ".ipa"){ $typeofile == "ipod"; }

    ho messo il doppio = nel risultato, per questo non me lo contava!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Esapato non vuol dire nulla
    Io intendo per escapato un carattere che ha subito un escape. Ovvero premettendo un \
    Quindi devi sostituire

    $estraggo_=_preg_match_all("/^.*(..*)$/",$basename_nospace,$matches);_

    con

    preg_match_all("/^.*(\..+)$/",$basename_nospace,$matches);


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.