Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Content Type file su server

    E' possibile risalire al Content type di un file che risiede in una specifica cartella sul server?

    Ho provato con le funzioni curl, ma senza un gran esito, inoltre non sono sicuro sia la strada giuta da seguire.

    Info?

    Grazie

  2. #2
    In linea di massima il content type "dipende" dall'estensione del file. Se cerchi con google si trovano liste piuttosto complete.

  3. #3
    Originariamente inviato da filippo.toso
    In linea di massima il content type "dipende" dall'estensione del file. Se cerchi con google si trovano liste piuttosto complete.
    Questo ok, ma mi pare non sia molto affidabile o perlomeno ci si potrebbe dimenticare di qualche cosa o se non ho capito male il concetto, dovrei fare molti case, uno per tipo di file.

    Sono riuscito a usare le funzioni curl, ora chiedo è corretto?
    In tutti i sensi, non avendo mai usato curl magari non ho fatto le cose per il verso giusto, oppure esistono altri metodi senza affidarsi a diversi case?

    Questa e la parte al momento funzionante:

    Codice PHP:
    //percorso del file
    $curl curl_init("http://www.sito.net/download/".$riga_a['nome_file']);
    curl_setopt($curlCURLOPT_RETURNTRANSFERTRUE);
    curl_exec($curl);
    //content type e dimensione
    $ct curl_getinfo($curlCURLINFO_CONTENT_TYPE);
    $cp curl_getinfo($curlCURLINFO_CONTENT_LENGTH_DOWNLOAD);
    // 
    Dove in $ct mi ritrovo il content type e in $cp le dimensioni del file.
    A prima vista sembra funionare su svariati tipi di file, tutto torna anche nelle dimensioni e sembrerebbe anche veloce, tenendo anche conto che il tutto è racchiuso in un ciclo.

  4. #4
    up

  5. #5
    Originariamente inviato da serialkiller
    Questo ok, ma mi pare non sia molto affidabile o perlomeno ci si potrebbe dimenticare di qualche cosa o se non ho capito male il concetto, dovrei fare molti case, uno per tipo di file.
    Di quali "case" stai parlando. Ti basta creare un array associativo dove le chiavi sono le estensioni ed i valori i content type. Poi con isset() verifichi se l'estensione è presente ed utilizzi il relativo content type.

    Originariamente inviato da serialkiller
    Sono riuscito a usare le funzioni curl, ora chiedo è corretto?
    Perchè eseguire una richiesta HTTP al web server quando puoi fare tutto in PHP molto più velocemente ed in maniera più affidabile (non è detto che il web server conosca l'estensione del tuo file).

  6. #6
    Originariamente inviato da filippo.toso
    Perchè eseguire una richiesta HTTP al web server quando puoi fare tutto in PHP molto più velocemente ed in maniera più affidabile (non è detto che il web server conosca l'estensione del tuo file).
    Secondo te è più affidabile? Mi pareva di aver letto il contrario, ma ovviamente posso sbagliare.
    La richiesta mi sembra veloce e mi serve solo per 5 elementi per servire enclosure all'interno di un feed rss.
    Comunque mi cerco la lista che devo aver usato anche per altre cose e vedo la differenza.

  7. #7
    Originariamente inviato da serialkiller
    Secondo te è più affidabile? Mi pareva di aver letto il contrario, ma ovviamente posso sbagliare.
    Se il web server non conosce già l'estensione, non funzionerà.
    Se il PHP non ha le estensioni curl attive, non funzionerà.
    Se ci sono problemi di risoluzione dei nomi, non funzionerè.
    Per ogni richiesta HTTP, ne viene generata un'altra automaticamente, anche se difficilmente il risultato sarà diverso (es. una volta richieste le estensioni più comuni, il resto delle richieste sono solo un overhead inutile).
    E così via...

  8. #8
    Originariamente inviato da filippo.toso
    Se il web server non conosce già l'estensione, non funzionerà.
    Se il PHP non ha le estensioni curl attive, non funzionerà.
    Se ci sono problemi di risoluzione dei nomi, non funzionerè.
    Per ogni richiesta HTTP, ne viene generata un'altra automaticamente, anche se difficilmente il risultato sarà diverso (es. una volta richieste le estensioni più comuni, il resto delle richieste sono solo un overhead inutile).
    E così via...
    Ok, così comunque mi funziona, visto che è probabile che io abbia liste vecchie, hai un link di "fiducia", passami il termine.
    Il concetto dell'array lo uso per servire le icone su un altro lavoro, magari implemento anche quello.

    Grazie ovviamente di tutto.

  9. #9

  10. #10
    Originariamente inviato da filippo.toso
    http://www.google.it/search?q=list+mime+types
    Ok, dimenticavo, ovviamente così non ho le dimensioni del file, che nel tag enclosure è necessario, quindi non vedo altre soluzioni: o salvo content type e dimensioni nel DB quando carico il file o uso curl, usando l'array dei content type mi mancherebbe comunque la dimensione...posso affidarmi a filesize...forse.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.