Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Rinominare file in php

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    21

    Rinominare file in php

    Ciao a tutti,

    complimenti per il forum!
    Il mio problema è che, durante l'upload di un'immagine, vorrei rinominarla con l'id relativo alla tabella del mio db: ma non ci sono riuscito.
    Ecco il mio codice:

    <?
    // recupero l'id dell'ultimo articolo inserito per abbinargli l'immagine
    @include 'config.php';
    $ctrl_login = ("SELECT art_id FROM racing_cars WHERE art_email='$email' order by art_id desc limit 1");
    $result_ctrl_login = @mysql_query ($ctrl_login) or die (mysql_error());
    $row_ctrl_login = mysql_fetch_array($result_ctrl_login);
    $art_id = $row_ctrl_login['art_id'];
    ?>

    <?php
    // upload immagine
    error_reporting(2047);
    if (isset($_POST["invio"])) {
    $percorso = "../caneclla/uploadtest/";
    if (is_uploaded_file($_FILES['file1']['tmp_name'])) {
    if (move_uploaded_file($_FILES['file1']['tmp_name'], $percorso.$_FILES['file1']['name']))
    {
    echo 'Nome file: <b>'.$_FILES['file1']['name'].'</b><br>';
    echo 'MIME Type: <b>'.$_FILES['file1']['type'].'</b><br>';
    echo 'Dimensione: <b>'.$_FILES['file1']['size'].'</b> byte<br>';
    echo '======================<br>';
    echo 'File caricato correttamente<br><br>';
    echo '<a href="../5_racing_cars/5_form_invio_immagini_racing_cars.php">carica un altro file</a>';
    } else {
    echo "si è verificato un errore durante l'upload: ".$_FILES["file1"]["error"];
    }
    } else {
    echo "si è verificato un errore durante l'upload: ".$_FILES["file1"]["error"];
    }
    } else {
    // HTML ?>
    <form enctype="multipart/form-data" method="post" action="" name="uploadform">
    seleziona il file da caricare sul server:
    <br>
    <input type="file" name="file1" size="50">
    <br>
    <input type="submit" value="invia" name="invio">
    </form>
    <?php
    }
    ?>

    In pratica vorrei sostituire "file1" con la variabile $art_id.
    E poi memorizzare nel mio db l'immagine (ed anche il percorso?).

    Grazie in anticipo!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    if (move_uploaded_file($_FILES['file1']['tmp_name'], $percorso.$_FILES['file1']['name']))

    cambialo con

    $ext = pathinfo($_FILES['file1']['name'], PATHINFO_EXTENSION);
    if (move_uploaded_file($_FILES['file1']['tmp_name'], $percorso.$art_id.ext))

    2 consigli:
    - smetti di usare le funzioni mysql_ sono state abbandonate, sulle nuove versioni di PHP non funzionano più, se il server viene aggiornato ti ritrovi con l'applicazione che all'improvviso non funziona più, quindi meglio prevenire, passa a PDO (mysqli_ farà la stessa fine di mysql_)

    - nel DB mettici solo il percorso dell'immagine, non l'immagine stessa, l'immagine vera e propria va bene metterla in una cartella.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    21
    Grazie mille....sono un neofita.....hai qualche consiglio su libri da studiare?

    P.S.: ho sostituito ma non mi funziona...

    Notice: Use of undefined constant ext - assumed 'ext' in /customers/1/0/4/mindandshape.com/httpd.www/5_racing_cars/5_form_invio_immagini_racing_cars.php on line 60 Nome file: spazio_immagine.jpg
    MIME Type: image/jpeg
    Dimensione: 28096 byte
    ======================
    File caricato correttamente

    carica un altro file
    Ultima modifica di Marco02; 26-01-2016 a 13:56

  4. #4
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    Codice PHP:
    $ext pathinfo($_FILES['file1']['name'], PATHINFO_EXTENSION);
    if (
    move_uploaded_file($_FILES['file1']['tmp_name'], $percorso.$art_id.$ext)) 
    eXvision

Tag per questa discussione

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.