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

    Chi mi controlla un codice per le immagini?

    Ciao raga, ho due domande da farvi, ho creato un form per fare l'upload delle immagini nel server, ma ho una serie di problemi, in parole povere vorrei sapere se mettendo mano al codice è possibile implementare una funzionalità un pos trana per me, ho notato che dopo l'upload le immagini nel server vengono settate col chmod 600 e non posso visualizzarle nel web se non con una pagina php che le richiama e inoltre non posso neanche scaricarle con un ftp manager, quello che vorrei fare è settarle a 644 ma non posso certo sbattermi via ftp a modificare ogni singola immagine che l'utente richiama, vi allego il codice:

    <?php
    //Funzioni utili...
    //Funzione Replace " " in "_" (evitiamo possibili errori)
    function fSpace($string)
    {
    return str_replace(" ", "_", $string);
    }

    //Funzione per ricavare l' estensione di un File
    function fExt($string)
    {
    //Controllo il file
    $trova_punto = explode(".", $string);
    $estensione = $trova_punto[count($trova_punto) - 1];
    $estensione = strtolower($estensione);

    // Se non ci sono estensioni
    if (isset($trova_punto[1]) == FALSE)
    {
    return '';
    }
    //Ritorno il valore dell' estensione
    return $estensione;
    }
    //Fine funzioni

    //Effettuo l' upload dell' immagine...
    $uploaddir = 'images/clan/';
    $uploadfile = fspace($_FILES['txt_file']['name']);
    $upload = $uploaddir . $uploadfile;

    //Controllo che sia stato specificato un file
    if(!strlen($uploadfile) == 0)
    {
    //Controllo l' estensione del file
    if((fExt($uploadfile) == 'gif') or (fExt($uploadfile) == 'jpg'))
    {

    //Eseguo l' upload
    if(move_uploaded_file($_FILES['txt_file']['tmp_name'], $upload))
    {
    //Upload eseguito con successo
    echo "<p align=\"center\"><font color=\"green\">Upload eseguito correttamente</font>";
    echo "<p align=\"center\">[img]". $upload ."[/img]";
    echo "<p align=\"center\"><font color=\"#FF0000\">Grazie per aver caricato il banner!</font></span></p>";
    echo "<p align=\"left\">NB: Puoi sostituire il tuo banner in qualsiasi momento con uno nuovo, devi solo rispettare la regola del nome assegnato al file <font color=\"#FF0000\">clan_nometuoclan.jpg</font>";
    echo "<p align=\"left\">Gli amministratori!";
    }else{
    //Upload fallito
    echo "<p align=\"center\">Upload fallito !";
    echo "
    <p align=\"center\">Torna dietro";
    }
    }else{
    //Messaggio di errore
    echo "<p align=\"center\">File non valido";
    echo "
    <p align=\"center\">Torna dietro";
    }
    }else{
    //Messaggio di errore
    echo "<p align=\"center\">Specificare un file !";
    echo "<p align=\"center\">
    Torna dietro";
    }

    ?>
    La seconda domanda è relativa alla visualizzazione di un circuito banner, ho creato una pagina in php che ad ogni refresh carica un'immagine diversa, mi sapete dire invece se posso creare uno slider in php senza database?
    Questo è il codice, e a volte capita che l'immagine non viene caricata e mi mette il classico rettangolino con la X poi cliccando col destro del mouse e mostra immagine, dopo 3 o quattro volte la vedo:

    <?php

    ################################################## #
    # #
    # Chameleon v0.1 #
    # #
    # Autore: Gabriele Cannizzaro aka Scitrek #
    # #
    # L'utilizzo è libero per scopi NON commerciali #
    # #
    ################################################## #

    /* Percorso relativo della directory contenente le immagini (vuoto = directory corrente) */
    $dir = "";

    ################################################
    ############## ATTENZIONE ##############
    # Qualsiasi modifica al codice sottostante #
    # può comprometterne il buon funzionamento #
    ################################################

    if ($dir !== "") {$opendir = opendir($dir);}
    else {$opendir = opendir('.');}

    while (($file = readdir($opendir)) !== FALSE) {$avatars[] = $file;}

    mt_srand((double)microtime()*1000000);
    $num = mt_rand(0,count($avatars));
    $ext = explode(".", $avatars[$num]);
    $type = $ext[1];
    if ($dir !== "") {$name = $dir."/".$avatars[$num];}
    else {$name = $avatars[$num];}

    header("Expires: ".gmdate("D, d M Y H:i:s")." GMT");
    header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");
    header("Content-Type: image/".$type);
    header("Content-Disposition: inline; filename=".$name);
    readfile($name);

    exit();

    ?>

  2. #2
    prova a chmodarla dopo l'upload
    ----
    codice preso da it.php.net

    ----
    // Read and write for owner, read for everybody else
    chmod("/somedir/somefile", 0644);
    ci sedemmo dalla parte del torto perchè tutti gli altri posti erano già occupati

  3. #3
    ma in quale punto del mio codice la devo mettere?

  4. #4
    dopo:
    if(move_uploaded_file($_FILES['txt_file']['tmp_name'], $upload))
    ci sedemmo dalla parte del torto perchè tutti gli altri posti erano già occupati

  5. #5
    O provato ora a metterlo subito nel codice php dopo //Upload eseguito con successo e mi da un'errore dopo l'upload dicendomi che l'operazione non è permessa

  6. #6
    vuol dire che l'utente non ha i permessi per chmodare i file. parla con il web master del tuo server web

    klash
    ci sedemmo dalla parte del torto perchè tutti gli altri posti erano già occupati

  7. #7
    risolto :P avevo dimenticato un parametro :P

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.