Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema con i nomi di file

    In un programma di gestione file in php ho dei problemi con i nomi dei file. Vorrei che i nomi originali fossero modificati in questo modo:

    1) eliminazione di tutti di spazi
    2) utilizzo solo di alcuni caratteri (a..z, 0...9) ad accezzioni di cose strane tipo queste "{~" oppure queste "èéòçàù"

    La cosa che mi manda più in bestia è che le lettere con gli accenti mi danno dei problemi...

    Per punto 1 l'ho risolto con questo:

    $uploadname = str_replace(' ', '_', $uploadname);

    mentre per il punto 2 non so come fare. Inoltre vorrei capire se posso aspettarmi altre sorprese a questo punto e se devo fare altre valutazioni oppure no.

    P.S.: I nomi di file copiati su server con le lettere accentate si trasformano i nomi diversi così quando cerco di scaricare sono fregato, lo script mi dice giustamente che manca il file...
    Più pratica in futuro...

  2. #2
    Sono riuscito a scrivere questa funzione però è un po' lunga da eseguire così pensado di usarla solo quando serve. Ora la mia richiesta è un'altra:

    Come posso verificare se in una stringa ci sono lettere che nella seconda stringa mancano e in tal caso, ma solo in tal caso, procedere?

    In pratica vorrei evitare di valiare tutta la stringa con un ciclo for se la stringa ha già superato un test iniziale... il ciclo for succhia molte risorse...
    Più pratica in futuro...

  3. #3
    Mi sembra di capire che i nomi originali dei file siano quelli con cui ti sono stati inviati tramite upload.

    Se così fosse il mio personalissimo consiglio è di organizzarti per NON usare mai questi nomi per salvare i file sul server: infatti, anche se tu facessi una ripulitura dei nomi dei file, il fatto che a scegliere questi nomi sono i tuoi utenti e non il tuo codice significa che puoi avere molti problemi, per esempio potrebero risultarti nomi identici per file differenti, ed allora come faresti a salvarli?

    Detto questo, per verificare se una stringa contiene certi caratteri puoi usare la funzione str_pos, ma ti consiglio di studiare le espressioni regolari, che ti permettono in un sol colpo di risolvere tutti questi problemi.

    In ogni caso non vedo perchè un ciclo for su una stringa che sarà al massimo qualche decina di caratteri (non starai mica accettando nomi di file senza porre un limite alla loro lunghezza, vero?) debba essere così pesante...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

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.