Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194

    percorso ed estensione di un file in variabile

    Avevo già introdotto la questione in un precedente post, non voglio farne un duplicato ma essere più preciso sull'argomento.
    La questione è, avendo la variabile dell'estensione del mio file, nel caso specifico un'immagine, come la devo scrivere per poter comporre il percorso del mio file?
    Ad esempio:
    <img src="immagini/immagine1.jpg">

    La variabile $_FILES['userFile']['type'] (file caricato dall'utente) mi restituisce image/estensione.
    Come faccio a prendere solo "estensione" così da comporre qualcosa del tipo:

    <img src="<?php echo $percorso . $estensione; ?>"/>

    Grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Codice PHP:
    $filename $_FILES["userFile"]["name"];

    // end perché potrebbero esserci altri . nel nome del file
    // così prendi sicuramente l'estensione
    $ext end((explode("."$filename)));

    echo 
    $ext

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Ok, ho capito il concetto: prendi la parola che contine "." nel file. Ma come fai ad essere sicuro che per prima prenda l'estensione? parte forse dalla fine del nome?

    (correggo... ho notato ora l'end)

    In questo momento sto lavorando sull'immagine presa dal database ( campo blob, campo type ). Credevo di poter usare il campo type ($_FILES['userFile']['type']) per poter identificare un'immagine nel server.
    E' un po' articolato lo so. In pratica se nel mio DB ho un file jpg l'estensione del file nel server è jpg ecc..
    Ho provato con str_replace('image/', '.', $row['type']) ma mi sono accorto solo ora che il campo type restituisce jpeg e non jpg.

    In conclusione se non c'è un modo per estrapolare e mettere in variabile l'estensione da un file nel db dovrò fare un controllo con If.
    Se è jpeg allora il file è immagine.jpg, ecc..
    Qualche altra idea?
    Ultima modifica di Ciakko; 15-10-2015 a 13:17

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Sì, l'idea è che mettere file in un campo blob è una pessima idea e ora stai sperimentando una delle controindicazioni.
    I file vanno salvati in cartelle, nel db ci va solo il nome e l'eventuale percorso della cartella in cui recuperarlo se prevedi di mettere file in cartelle diverse.

    Comunque se ad un file .jpg cambi l'estensione in .jpeg continuerà a funzionare.

  5. #5
    Comunque per lavorare con i path dei file c'e' una funzione apposta: http://php.net/pathinfo

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Sto lavorando ad un CMS, avere tutti i dati in db mi permette un maggiore controllo ma ho notato un rallentamento nel caricamento della pagina, motivo per il quale sto cercando di lavorare con le immagini in cartelle.
    Credo che inserirò in tabella il campo estensione così da averlo pronto quando mi serve.
    Grazie dell'aiuto.

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