Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: php estensione *.jpg

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    141

    php estensione *.jpg

    ciao a tutti
    ho questo problema.
    ho inserito in una tabella MySql un percorso per visualizzare una fotografia
    nella tabella l'estensione è maiuscola: JPG
    invece la foto è nominata con l'estensione minuscola: foto.jpg
    il risultatao è che non riesco a vedere la foto
    come posso fare?
    le foto sono troppe per cambiare l'estensione a tutte, potrei lanciare un modifica tabella e mettere li la minuscola, ma mi sembra laborioso
    non c'è la possibilità di rendere più tollerante da parte di php la letture dell'estensione?
    grazie
    spero di essere stato chiaro, perchè non lo so proprio.
    Matteo

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Il problema non è PHP, è il server, se sei su Linux è normale che sia così, i sistemi Unix sono case sensitive jpg != JPG != Jpg != JPg ecc...), se fossi su Windows non ci sarebbero problemi.

    L'unica soluzione è rendere coerenti le estensioni tra DB e file.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    141
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Il problema non è PHP, è il server, se sei su Linux è normale che sia così, i sistemi Unix sono case sensitive jpg != JPG != Jpg != JPg ecc...), se fossi su Windows non ci sarebbero problemi.

    L'unica soluzione è rendere coerenti le estensioni tra DB e file.
    mannaggia, si sono su linux
    grazie per la risposta scoraggiante
    m.

  4. #4
    Puoi fare un'apposità query sul database per sostituire tutte le estensioni maiuscole con le minuscole, oppure in fase di output con php puoi usare strtolower("nome file preso dal DB")

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Mi sa che il problema è che ha le cose mischiate, altrimenti se la situazione fosse uniforme il tuo consiglio sarebbe giusto.

  6. #6
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Mi sa che il problema è che ha le cose mischiate, altrimenti se la situazione fosse uniforme il tuo consiglio sarebbe giusto.
    ma nel dubbio.. strtolower() mette tutto minuscolo, no ?

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Si, ma se tra i file (non nei nomi nel db) ha estensioni sia in minuscolo che in maiuscolo comunque alcuni non verranno presi.
    Bisognerebbe sapere per bene la situazione.

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    141
    Alhazred ha ragione, ho una situazione mischiata.
    il mio problema è a monte.
    utilizzo php per creare delle miniature da fotografie prese dalla mia macchina fotografica, in questi casi non ho mai problemi.

    i problemi sono iniziati quando ho cambiato attrezzatura, le foto vengono troppo grandi e il la mia funzione di php (imagecreate() e simili) non funziona, per questo uso photoshop che salva con estensioni minuscole partendo da quelle maiuscole della macchina foto.

    per questo mi trovo in mysql un link con estensione diversa da quelle della foto che si trova su disco.

    è raro che mi capiti questo, ma per quanto raro mi trovo 3 o 4cento foto così

    quindi la mia domanda a monte è:

    posso settare php in qualche modo? (queste operazioni le faccio in locale con easyphp perchè sul server ho limiti pesanti di memoria ram)
    ho visto che ci sono dei parametri da settare per limiti di memoria da usare per gli script, ma non so quali smanettare.

    grazie a tutti

  9. #9
    Ma che disastro..
    Fatti uno script che omogenizzi la situazione. Fai prima.
    Prendi il nome del file, controlli che sia con estensione .jpg (confronto case insensitive) e lo rinomini con lo stesso nome e l'estensione in minuscolo o maiuscolo.

    Se parti da foto di una reflex con molti megapixel php farà molta fatica a ridimensionarle. Conta che una foto compressa in jpg da 7-8 Mb di una reflex per essere ridimensionata (quindi decompressa, applicazione dei filtri etc.) può arrivare a occupare memoria per 10 volte tanto. (per curiosità.. Photoshop una volta tra le informazioni dava quanto occupava l'immagine decompressa nella barra in basso a destra. Ora non so dove abbiano portato questa informazione.. se c'è ancora.. )

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    141
    36 megapixel, quelli sono il disastro. ahahahah
    hai ragione, però la cosa più semplice per me è poter creare le miniature direttamente da file originale senza passare da photoshop, che ha i suoi problemi per queste operazioni, fa dei files più grandi e di qualità peggiore salvando in jpg qualità 0.
    credo che 36 megapixel per lavorarli php abbia bisogno di 250 MB di ram
    dal file di settaggio php.ini c'è questa impostazione settata: "memory_limit = 128M"
    ho provato a modificarlo a 256M e sembra funzionare il tutto
    grazie

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.