Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: Upload file

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130

    Upload file

    Salve... spero in qualche buon anima... Premetto che so poco o niente di PHP... pero' mi servirebbe urgntemente sapere come fare un semplice form di upload di file su server Aruba con windows server... In internet di guide già fatte ce ne sono una miriade dello stile di questa che prende spunto da una guida di php.html.it
    __________________________________________________ ____________
    form.html
    CODICE:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    </head>

    <body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="upfile">
    <input type="hidden" name="MAX_FILE_SIZE" value="10000">
    <input type="submit" value="Invia il file">
    </form>
    </body>
    </html>
    __________________________________________________ ____________

    +

    __________________________________________________ _________
    upload.php

    CODICE:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    </head>

    <body>
    <?php
    /*Compatibilità con le versioni di php precedenti alla 4.1.0*/
    if(!isset($_FILES)) {
    $_FILES = $HTTP_POST_FILES;
    }
    if(!isset($_SERVER)) {
    $_SERVER = $HTTP_SERVER_VARS;
    }
    /*Nuovo nome da dare al file uploadato, può anche non essere assegnato*/
    $nuovo_nome = "";
    //*Percorso assoluto della cartella dove si desiderano salvare i files uploadati, la cartella deve avere i permessi 777*/
    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "areariservata";
    /*Se non è stato indicato un nuovo nome, il nome del file sarà lo stesso di quello uploadato*/
    if ($nuovo_nome==""){
    $nuovo_nome=$_FILES["upfile"]["name"];
    }else{
    $nome_file=$nuovo_nome;
    }
    /*Controllo il nome del file per verificare se è stato uploadato*/
    if(trim($_FILES["upfile"]["name"]) == "") {
    die("Devi indicare il file che desideri caricare");
    }
    /*Controllo il file che è stato uploadato e lo sposto nella cartella definita nella variabile $upload_dir*/
    if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
    @move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$nome_file")
    or die("Non riesco a spostare il file, controlla che siano stati assegnati i permessi 777 alla cartella di destinazione dei file uploadati");
    } else {
    die("C'&egrave; stato un problema con l'upload, prova di nuovo o contatta il webmaster " . $_FILES["upfile"]["name"]);
    }
    /*Informo l'utente che l'upload è stato eseguito correttamente*/
    echo "L'upload del file " . $_FILES["upfile"]["name"] . " &egrave; stato eseguito con successo";
    ?>
    </body>
    </html>
    __________________________________________________ ________
    Mi viene questo errore:

    Non riesco a spostare il file, controlla che siano stati assegnati i permessi 777 alla cartella di destinazione dei file uploadati

    I due file li metto nella cartella areariservata dove è proprio li dentro che vorrei si salvassero i file.
    Non ne vengo più fuori e non capisco il perchè...

    Vi prego, son disperato... Ci sono permessi da settare o cose del genere?

    vi prego...

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    UPPINO...

  3. #3
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    LOL
    si bisogna che setti i permessi di $upload_dir a 777...
    togli i @ così riesci a vedere eventuali errori..

    per un sistema di upload / download base vedi i miei post
    http://forum.html.it/forum/showthrea...ostid=13094672
    eXvision

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    intanto grazie per la risposta...
    Ho guardato il tuo post ma usa mysql, e altri file aggiuntivi... io vorrei solamente un form semplicissimo e l'altro file upload.php.
    In teoria i 2 file non dovrebbero essere salvati sulla cartella public del server dove c'è il sito?
    Non ha già di suo i permessi 777 questa cartella? Se no come fare ad avere questi permessi?
    scusa delle varie domandine... e un grazie mille!!

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    si, in effetti sono andato a controllare sul file manager di Aruba e il dominio ha di default nella cartella public permessi di lettura e scrittura... ma allora dove sbaglio!!!

  6. #6
    Un possibile errore ad esempio è quello di usare Aruba...
    Scusate la battuta OT

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    Originariamente inviato da Dirk Pitt
    Un possibile errore ad esempio è quello di usare Aruba...
    Scusate la battuta OT
    la mia prima reazione era di aggiungere un commento sul fatto che il server era pure windows :P

    comunque se non ricordo male aruba forniva un esempio di come fare il caricamento di file sui loro server...

  8. #8
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    aruba non c'entra nulla, come spesso accade..
    utilizzi questa condizione
    Codice PHP:
    if ($nuovo_nome==""){
    $nuovo_nome=$_FILES["upfile"]["name"];
    }else{
    $nome_file=$nuovo_nome;

    poi utilizzi
    Codice PHP:
    move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$nome_file"
    quando fai l'upload si verifica, come tu vuoi, la prima condizione
    $nuovo_nome=$_FILES["upfile"]["name"];
    quindi mettere $nome_file è errato.. devi mettere
    Codice PHP:
     move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$nuovo_nome"
    in più come da manuale ufficiale
    http://www.php.net/manual/en/feature...ost-method.php
    metterei gli apici singoli a tutti gli elementi dell'array $_FILES

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    intanto grazie per la risposta... allora il mio nuovo codice è questo:

    <?php
    /*Compatibilità con le versioni di php precedenti alla 4.1.0*/
    if(!isset($_FILES)) {
    $_FILES = $HTTP_POST_FILES;
    }
    if(!isset($_SERVER)) {
    $_SERVER = $HTTP_SERVER_VARS;
    }
    /*Nuovo nome da dare al file uploadato, può anche non essere assegnato*/
    $nuovo_nome = "";
    //*Percorso assoluto della cartella dove si desiderano salvare i files uploadati, la cartella deve avere i permessi 777*/
    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "public/";
    /*Se non è stato indicato un nuovo nome, il nome del file sarà lo stesso di quello uploadato*/
    if ($nuovo_nome==""){
    $nuovo_nome=$_FILES['upfile']['name'];
    }else{
    $nome_file=$nuovo_nome;
    }
    /*Controllo il nome del file per verificare se è stato uploadato*/
    if(trim($_FILES['upfile']['name']) == "") {
    die("Devi indicare il file che desideri caricare");
    }
    /*Controllo il file che è stato uploadato e lo sposto nella cartella definita nella variabile $upload_dir*/
    if(is_uploaded_file($_FILES['upfile']['tmp_name'])) {
    move_uploaded_file($_FILES['upfile']['tmp_name'], "$upload_dir/$nuovo_nome")
    or die("Non riesco a spostare il file, controlla che siano stati assegnati i permessi 777 alla cartella di destinazione dei file uploadati");
    } else {
    die("C'è stato un problema con l'upload, prova di nuovo o contatta il webmaster " . $_FILES['upfile']['name']);
    }
    /*Informo l'utente che l'upload è stato eseguito correttamente*/
    echo "L'upload del file " . $_FILES['upfile']['name'] . " è stato eseguito con successo";
    ?>

    spero che per dire di inserire i file nella cartella public abbia scritto giusto... "public/"
    o dovevo scrivere il percorso completo http://www....?
    Ho tolto i doppi apici e messi quelli singoli, e sostituito il codice con quello corretto da te...
    Ho provato a uplodare un file di 12kb e non mi funge e mi da come messaggio:

    CODICE: Devi indicare il file che desideri caricare

    grazie dell'aiuto!

  10. #10
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ti dice che praticamente secondo lui non stai uploadando nulla..
    io l'ho fatto sotto linux.. e mi funzionava.. comunque intanto
    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "public";
    senza lo slash, come prima era areariservata senza slash.

    fai un po' di prove facendo gli echo delle variabili tipo

    Codice PHP:
    <?php
    /*Compatibilità con le versioni di php precedenti alla 4.1.0*/
    if(!isset($_FILES)) {
    $_FILES $HTTP_POST_FILES;
    }
    if(!isset(
    $_SERVER)) {
    $_SERVER $HTTP_SERVER_VARS;
    }
    /*Nuovo nome da dare al file uploadato, può anche non essere assegnato*/
    $nuovo_nome "";
    //*Percorso assoluto della cartella dove si desiderano salvare i files uploadati, la cartella deve avere i permessi 777*/
    $upload_dir $_SERVER["DOCUMENT_ROOT"] . "public";
    /*Se non è stato indicato un nuovo nome, il nome del file sarà lo stesso di quello uploadato*/
    if ($nuovo_nome==""){
    $nuovo_nome=$_FILES['upfile']['name'];
    }else{
    $nome_file=$nuovo_nome;
    }
    echo 
    "variabile rinominata: " .  $nuovo_nome "
    "
    ;
    echo 
    "nome originale: " $_FILES['upfile']['name'];
    /*Controllo il nome del file per verificare se è stato uploadato*/
    if(trim($_FILES['upfile']['name']) == "") {
    die(
    "Devi indicare il file che desideri caricare");
    }
    // ECCETERA
    ah!! e riprova magari se non va coi doppi apici anche se non credo sia quello...

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.