Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 51

Discussione: replace apostrofo

  1. #1

    replace apostrofo

    Ciao a tutti,
    perchè non funziona questo replace?
    codice:
    $nomefile2 = str_replace("'", "", $nomefile);
    vorrei sostituire l'apostofo invece mi elimina tutto.
    $nomefile2 è vuoto.

    Come mai?
    Non uso mai php ma ora ho necessità.

    Fatemi sapere.
    Grazie mille.

  2. #2
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Controlla il contenuto di $nomefile.

  3. #3
    $nomefile = 111'.jpg

  4. #4
    che viene preso così:
    $nomefile = $_FILES['campofotoprincipale']['name'];

    Se faccio replace per esempio della lettera a non da alcun problema.

  5. #5
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Sei sicuro che $nomefile contenga realmente l'apostrofo? Nel verificarlo, accertati che html non ti stia mentendo: quell'apostrofo potrebbe essere una entità html. Escludo a priori che si tratti di un problema di encoding, in quanto il parser può lavorare solo con un file codificato in ascii, o per lo meno che lo abbia come sottoinsieme, per cui quell'apostrofo è proprio quello, non ci sono ambiguita. Escludo anche che $nomefile abbia una codifica così esotica da non aver ascii come sottoinsieme. Quindi, per quanto mi riguarda, il problema è che $nomefile non contiene apostrofi. Verificalo.
    Ultima modifica di .Kurt; 29-01-2015 a 20:34

  6. #6
    Ti confermo al 100% che il nome file è quello sopra indicato.
    111'.jpg

    Infatti se non lo elimino mi da problemi in salvataggio nel db (appunto perchè contiene l'apostrofo).

    Se faccio: replace di ' con aaa mi elimina tutto il nome file
    Se faccio: replace di 1 mi trasforma il nome in aaaaaaaaa'.jpg

    Di questo ne son certo.

    Ti posto tutto il codice, magari sto sbagliando io qualcosa:
    codice:
    <?php
    $id = $_POST['id'];
    $numerofotoP = $_POST['numerofotoP'];
    $nomefile = $_FILES['campofotoprincipale']['name'];
    $nomefile2 = str_replace("'", "-", $nomefile);
    if(!empty($_FILES)) {
    	if(is_uploaded_file($_FILES['campofotoprincipale']['tmp_name'])) {
    		$sourcePath = $_FILES['campofotoprincipale']['tmp_name'];
    		$targetPath = "../public/".$id."-".$numerofotoP."-fotoprincipale-".$nomefile2;
    		if(move_uploaded_file($sourcePath,$targetPath)) {
    			?>
    			<img src="<?php echo $targetPath; ?>" style="max-width:150px; max-height:100px;" />
    			<?php
    		}
    	}
    }
    ?>

  7. #7
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Carica questo e posta il risultato:

    codice:
    $nomefile = $_FILES['campofotoprincipale']['name'];
    echo "filename: ", $nomefile, PHP_EOL;
    echo "var_dump: "; var_dump($nomefile);
    echo "urlencode: ", urlencode($nomefile), PHP_EOL;
    echo "has a ': ", (strpos($nomefile, "'") !== false) ? 'yeah' : 'nope';

  8. #8
    Che versione di PHP stai utilizzando?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Son su Aruba, linguaggi supportati:
    PHP 5.4.x, 5.5.x, 5.6.x, Perl 5.16.3, ASP.NET/.NET e altri

  10. #10
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    Carica questo e posta il risultato:

    codice:
    $nomefile = $_FILES['campofotoprincipale']['name'];
    echo "filename: ", $nomefile, PHP_EOL;
    echo "var_dump: "; var_dump($nomefile);
    echo "urlencode: ", urlencode($nomefile), PHP_EOL;
    echo "has a ': ", (strpos($nomefile, "'") !== false) ? 'yeah' : 'nope';
    ecco la risposta:
    filename: .jpgvar_dump: string(4) ".jpg"urlencode: .jpghas a ': nope

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.