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

    maiuscole e minuscole....

    ciao a tutti....

    problemino...

    ho scritto una pagine in php, che legge dati da un database Mysql... e va a pescare delle immagini in una cartella....

    il problema è: finchè ero in locale su piattaforma windows se facevo cercare alla pagina php il file pippo.jpg, me lo trovava sia che si chiamasse pippo.jpg che PIPPO.jpg che Pippo.jpg....

    ora che ho fatto l'upload del sito che è su piattaforma linux, c'è il problema che non mi trova più il file se ma delle maiuscole o minuscole in giro....

    il problema che parto già da un Db di 7000 record tutti scritti in maiuscolo mentre i file sono scritti metà in un modo metà nell'altro...

    c'è uno script o un programmino che in velocità mi permetta di modificare tutti i file di una cartella e mettere tutti i nomi in maiuscolo???

  2. #2
    se nel DB è tutto maiuscolo ti basta mettere sempre in maiuscolo le stringhe...

    http://it2.php.net/manual/it/function.strtoupper.php

    altrimenti metti tutti e due in maiuscolo o tutti e due in minuscolo.. insomma.. prima li tratti e poi li confronti


  3. #3
    si... ma il problema è che faccio anche un controllo sull'esistenza del file.... perchè ce ne sono di jpg, e anche gif..... è un pò un casino.....

  4. #4
    Ti conviene leggere il contenuto della directory e modificare tutti i nomi dei file o tutto in minuscolo con la funzione strtolower() tutto maiuscolo con strtoupper()e poi modificare i dati del database di conseguenza.
    potresti anche modificare i nomi con ucfirst() e strtolower in abbinameno per avre i nomi dei file con la prima lettera in maiuscolo.
    oppure puoi leggere i contenui del databas vedere se esiste qul file, se no provare a modificare e cosi di seguito, impegnera un po di risorse, m una volta eseguito tuto tornera' ok
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  5. #5
    Originariamente inviato da sanbiv
    Ti conviene leggere il contenuto della directory e modificare tutti i nomi dei file o tutto in minuscolo con la funzione strtoupper() o tutto maiuscolo con strtolower e poi modificare i dati del database di conseguenza.
    sì.. a questo punto usa uno scriptino temporaneo che ti metta tutti i files in maiuscolo una volta per tutte... se sono tutti in una dir:

    Codice PHP:
    <?php
    if ($handle opendir('.')) {
       while (
    false !== ($file readdir($handle))) {
           if (
    $file != "." && $file != "..") {
               
    $maiuscolo strtoupper($file)
               
    rename ($file$maiuscolo);
           }
       }
       
    closedir($handle);
    }
    ?>
    PS: occhio che ti maiuscolizza qualsiasi cosa.. anche altre directory... quindi in caso ci sia molta altra roba oltre ai files in questione ti conviene aggiungere la condizione che rinomini solo se sono jpg o gif...

  6. #6
    <?php
    if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
    if ($file != "." && $file != "..") {
    $maiuscolo = strtoupper($file)
    rename ($file, $maiuscolo);
    }
    }
    closedir($handle);
    }
    ?>

    ma dove metti il '.' devo metterci qualcosa di diverso??? tipo la directory???

  7. #7
    Originariamente inviato da maurizio127
    <?php
    if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
    if ($file != "." && $file != "..") {
    $maiuscolo = strtoupper($file)
    rename ($file, $maiuscolo);
    }
    }
    closedir($handle);
    }
    ?>

    ma dove metti il '.' devo metterci qualcosa di diverso??? tipo la directory???
    "." vuol dire "directory corrente"... se lo fai girare in quella directory va bene così.. altrimenti mettici un path assoluto o relativo..

  8. #8
    già che ci sei forse ti conviene rinominarli anche sul DB. su mysql (shell) o phpMyAdmin puoi eseguire una query del genere
    update tabella set campo = LOWER(campo);
    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  9. #9
    ho provato a far girare lo script nella directory del host.... e non succede niente...

    la faccio girare nella cartella locale mi restituisce questo errore

    Parse error: parse error, unexpected T_STRING in c:\programmi\apache group\apache\htdocs\immaginiprodotti\rename.php on line 6

  10. #10
    manca un ";" alla fine di
    $maiuscolo = strtoupper($file)
    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

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.