• User Attivo

    @talkoman said:

    ma nome immagine lo posso anche sostituire con la variabile che contiene quel percorso?

    Certo, puoi passare anche una variabile come argomento alla funzione, cosa importante è che deve contenere un percorso fisico dell'immagine.

    Es. ../image/acaso.jpg

    Ciao!


  • User Attivo

    guarda ho fatto così:

    [PHP] <?php
    if(isset($_POST['nome'])):
    $data= mktime("0", "0", "0", $_POST['mese'], $_POST['giorno'], $_POST['anno']);
    $file = $_FILES['uploadfile'];
    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];
    $sesso=$_POST['sesso'];
    $categoria=$POST['categoria'];
    if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name'])) {
    $imm="../images/atleti/" . $nome . "
    " . $cognome . ".jpg";
    $size= getimagesize($file);
    list($width, $height, $type, $attr) = $size;
    if($width>120 && $height>160)
    exit('<p>Errore durante l'iserimento della foto. Dimensioni non corrette!</p>');
    else{
    $sql="INSERT INTO atleti SET
    nome='$nome',
    cognome='$cognome',
    data='$data',
    sesso='$sesso',
    categoria='$categoria',
    img='$imm'";
    //move_uploaded_file($file['tmp_name'],$imm);
    copy($file['tmp_name'],$imm);
    }
    if (@mysql_query($sql))
    echo '<p>Atleta inserito correttamente</p>';
    else{
    exit('<p>Errore durante l'iserimento dell'atleta: ' .
    mysql_error() . '</p>');
    }
    $nid=mysql_insert_id(); }
    ?>[/PHP]

    Ma mi da questo errore:

    Notice: Array to string conversion in C:\Programmi\EasyPHP 2.0b1\www\tapsos\admin\nuovoatleta.php on line 85

    Warning: getimagesize(Array) [function.getimagesize]: failed to open stream: No such file or directory in C:\Programmi\EasyPHP 2.0b1\www\tapsos\admin\nuovoatleta.php on line 85

    Atleta inserito correttamente
    Come mai?


  • User Attivo

    nada?


  • User Attivo

    Ti sta' dicendo che $file e' un array, mentre la funzione getimagesize vuole come argomento il nome di un file.
    Prova a scrivere invece

    [php]$size= getimagesize($file['tmp_name']);[/php]


  • User Attivo

    ok grazie...ora funziona...come faccio a controllare invece se l'estensione è quella che voglio io?


  • User Attivo

    Per l'estensione di un file c'è la funzione PATHINFO unita con EXTENSION.

    [php]
    $path_parts = pathinfo('immagine.jpg');
    echo $path_parts['extension']; //echo => jpg
    [/php]


  • User Attivo

    ok grazie mille.....!!!
    mi auguro di non dovervi disturbare +.....


  • User Attivo

    arieccomi...................
    ora ho un altro tipo di problema.
    Praticamente io carico un file con una form.
    nel database si salva il path e fino a qui tutto va bene...
    questo file è come un'allegato.
    Quindi quando leggo la news poi a fondo pagina metto:
    Allegato: ??
    come faccio a far spuntare solo il nome del file e non tutto il percorso?
    poi, come faccio ad aprire il file cliccandoci??
    Grazie!
    Ciau!


  • Consiglio Direttivo

    @talkoman said:

    Quindi quando leggo la news poi a fondo pagina metto:
    Allegato: ??
    come faccio a far spuntare solo il nome del file e non tutto il percorso?
    poi, come faccio ad aprire il file cliccandoci??

    Per fa spuntare solo il nome del file, dato che sai quanti "/" ci sono nel percorso dove li salvi puoi fare, immaginando che il path sia
    [php]
    $file="../percorso/immagine.jpg";
    list ($prt1, $prt2, $prt3)=explode("/", $file);
    list($nome,$estensione)=explode(".", $prt3);
    [/php]
    @talkoman said:

    poi, come faccio ad aprire il file cliccandoci??

    basta che lo inserisci in un href:
    [php]
    echo "<a href='".$file."' target=.....>".$prt3."</a>";
    [/php]
    😉


  • User Attivo

    ok....grazie Samyorn, funziona perfettamente...
    ora xò ora ho un altro problema....io salvo questo file dalla cartella /ammin/
    quindi quando cerca ../file/$nome quando sono dentro /ammin/ lo trova perfettamente.....ma se salgo di directory mi sballa...come faccio??


  • Consiglio Direttivo

    Beh, puoi risolvere mettendo il path assoluto, ovvero:

    se il tuo sito è www.miosito.it
    e la sottocartella che punta alle immagini è, partendo dalla directory principale, /ammin/file/$nome

    basta che sostituisci:$file="../ammin/file/$nome";

    con: $file="http://www.miosito.it/ammin/file/$nome";

    così da qualunque cartella o subcartella del tuo sito richiami il file lui saprà dove trovarlo 😉