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

    scrivere uno slash in un record MySQL

    come dal titolo..ho il problema di dover memorizzare uno slash in un record MySQL che contiene il path completo di una immagine. Il fatto è che devo memorizzare un path completo sul mio sito in una serie di directory predefinite, ad esempio

    Codice PHP:
    $path "images/cars"
    in un campo di un record devo memorizzare il path più il nome del file come

    Codice PHP:
    $fullPath "images/cars/" $file
    ma se nel file ho uno slash quando prelevo il campo e visualizzo l'immagine mi viene segnalato un errore in quanto PHP "crede" che ci sia una directory in più! ad esempio

    Codice PHP:
    $file "immagine/numero 1.jpg";
    $fullPath "images/cars/" $file;
    $array getimagesize($fullPath); // errore! 
    l'errore avviene in quanto PHP crede che $fullPath contenga "images/cars/immagine/numero 1.jpg" quindi va a cercare la directory "immagine" che non esiste!
    Quindi ecoc il problema: come posso memorizzare lo slash in un record MySQL? htmlentities o html_special_chars non cambiano nulla....

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, scusami non capisco il problema...che necessità hai di anteporre il path immagine se non esiste?

    $file = "immagine/numero 1.jpg";

    l'errore avviene in quanto PHP crede che $fullPath contenga "images/cars/immagine/numero 1.jpg" quindi va a cercare la directory "immagine" che non esiste!
    Non potresti semplicemente evitare il problema creando $file="numero 1.jpg"?

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    temo che stia dicendo che ha uno slash nel nome dell'immagine....

    ..e il bello è che lo presenta come un problema di scrittura in mysql

  4. #4
    @Emulman

    non è possibile tu abbia uno slash nel nome del file e direi anche per ovvie ragioni

  5. #5
    no, non ho detto che sia un errore di scrittura...mettendo uno slash nel nome del file e aggiungendolo al path PHP "crede" che ci sia un'altra directory che certamente è inesistente! come ho detto poniamo che io voglia mettere delle immagini nel path
    Codice PHP:
    $path "images/cars/"
    e che all'interno ci voglio mettere il file
    Codice PHP:
    $file "immagine/numero1.php"
    se scrivo
    Codice PHP:
    $fullPath $path $file; echo "image path: " $fullPath
    ottengo
    Codice PHP:
    image pathimages/cars/immagine/numero1.php 
    e quindi PHP crede che voglio memorizzare il file "numero1.php" nella directory "images/cars/immagine" capito? quel che voglio è sapere come memorizzare lo slash che PHP crede sbagliato per poi rimetterlo a posto come parte del nome del file...

  6. #6
    Forse non ti è chiara una cosa, i nomi dei file non possono contenere alcuni caratteri speciali tra i quali lo slash "/"
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    però forse qualcosa ho trovato, un piccolo trucco...se faccio
    Codice PHP:
    echo "\$file = " urlencode($file); 
    ottengo
    Codice PHP:
    $file immagine%2Fnumero1.jpg
    potrei quindi memorizzare questo formato e al momento di visualizzarla ritrasformo il codice ASCII in uno slash, cioè

    Codice PHP:
    $file "immagine/numero1.jpg";
    $encoded_file urlencode($file);
    // memorizza $encoded_file
    ...
    //visualizza $encoded_file;
    if (strpos($encoded_file'%'))
      
    $decoded_file urldecode($decoded_file);
    echo 
    $decoded_file

  8. #8
    il fatto che tu decidi di chiamare una variabile $file e l'altra $path non ha alcun significato per php o per il sistema che invece gestisce il contenuto di quelle stringhe

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.