Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 23

Discussione: Upload file

  1. #11
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    6
    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"); }
    Scusate ma non è che bisogna scrivere
    $upload_dir.$nuovo_nome
    invece di
    $upload_dir/$nuovo_nome?
    ---------------------------

    Ciao da Lingo

  2. #12
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    cavoli niente... che sia perchè è sotto windows?
    Ho riprovato a mettere i doppi apici, singoli apici e togliere lo slash nella directory public ma niente... non ho sinceramente messo gli echo perchè non ho capito bene dove metterli... L'errore che mi da è sempre quello...
    CODICE: Devi indicare il file che desideri caricare

    Sul vademecum Aruba, ho letto nella sezione trasferimenti FTP questo:

    .....................
    Ulteriori client FTP consigliati sono visibili anche nella sezione Linux del Vademecum, con l'unica differenza che in ambiente Windows non è possibile attuare il comando chmod e la gestione dei link FTP.
    ......................

    Che sia per quello?

  3. #13
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    no niente... neanche con la modifica suggerita da Lingo70.
    E ho provato sia con doppi apici che con singoli apici come guida php.
    Ora il codice "aggiornato" è 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;
    }
    "variabile rinominata: " . $nuovo_nome . "
    ";
    "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");
    }
    /*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";
    ?>


    e mi da sempre come errore:

    CODICE: Devi indicare il file che desideri caricare

  4. #14
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    6
    In realtà io intendevo:
    $upload_dir.$nuovo_nome
    senza i doppi apici all'inizio e alla fine.
    ---------------------------

    Ciao da Lingo

  5. #15
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    neanche... tolti i doppi apici ma niente... ora il codice è

    <?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;
    }
    "variabile rinominata: " . $nuovo_nome . "
    ";
    "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");
    }
    /*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";
    ?>

    e mi vien fuori sempre il solito errore:
    CODICE: Devi indicare il file che desideri caricare

    Non è che l'errore stia all'inizio del codice dove in pratica dovrebbe andare a prendere il file da uplodare?
    Poi i due file form.html e upload.php li devo copiare all'interno della cartella pulic e in teoria dovrebbe andare no? (non vorrei sbagluiare la base)

  6. #16
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    hai dimenticato
    echo all'inizio dei due controlli che ti avevo detto di fare
    Codice PHP:
    echo "variabile rinominata: " .  $nuovo_nome "
    "
    ;
    echo 
    "nome originale: " $_FILES['upfile']['name']; 
    che ti da con quelli??

    l'altro errore che dice Lingo70 dovrebbe essere
    Codice PHP:
    move_uploaded_file($_FILES['upfile']['tmp_name'], $upload_dir "/" $nuovo_nome

  7. #17
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    be, provando ad uplodare un pdf da 70kb ora viene:

    variabile rinominata:
    nome originale: Devi indicare il file che desideri caricare

  8. #18
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    hai capito?
    non becca proprio il nome del file ..

    ho provato anche io su un dominio windows e da errore pure a me..
    mi da un altro errore
    Unable to move 'C:\PHP\upload\phpA2.tmp' to 'lamiacartella' eccetera

    sul sito in questione scaricati la loro "modalità" di uploadare file con windows.
    http://vademecum.aruba.it/start/upload/upload_php.asp
    e la prossima volta prenditi linux, che risparmi oooooooooore..

    purtroppo devo chiudere, e fino a lunedì non potrò aiutarti oltre, se ti servirà..
    fammi sapere comunque se riesci eh??!!

  9. #19
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    intanto posso solo che ringraziarti!!!!
    Sei stato gentilissimo! e giuro che una volta fatto funzionare sto upload
    mi prendo un gran libro di php e inizio a studiare! Ora che ho visto che potenzialità ha!
    Buon WeekEnd!

  10. #20
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    130
    allora... per tutti coloro che mi hanno aiutato, intanto un grazie!
    A titolo informativo vi spiego come, magari può essere utile ad altri!
    Ho risolto seguendo il vademecum aruba ovvero con 3 file:

    form.htm:
    <td width="100%"><FORM ACTION="protezione.php" METHOD="POST">
    <p align="center" class="azzurro"> <span class="nero">Inserire la Password</span>

    <INPUT TYPE="password" NAME="passwd" SIZE="20" MAXLENGTH="30">
    <INPUT name="submit" TYPE="submit" class="azzurro" VALUE="accedi">

    </FORM>
    ......................
    protezione.php
    <?php
    # settare nella riga seguente la password
    if ($passwd=="stefano"): ?>



    <html>

    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Demo: esempio di Form Upload interamente in Php</title>
    </html>
    <html>
    <head>
    </head>

    <body bgcolor="#ffffff">

    <div align="center">
    <center>
    <table border="0" cellpadding="0" cellspacing="0" width="90%">
    <tr>
    <td width="100%"><table width="400" height="47" border="0" align="center" cellpadding="00">
    <tr>
    <td width="475" background="sf_tit.jpg"><div align="center"><span class="nero_sott">Area Protetta </span>per l'upload</div></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td width="100%" height="290"><div align="center">
    <table width="400" height="250" border="0" cellpadding="00">
    <tr>
    <td background="sf_table.jpg"><form action="up.php" method="post"
    enctype="multipart/form-data">
    <label for="file"></label>
    <div align="center">
    <label for="label"><span class="nero">File:</span></label>
    <span class="nero">
    <input name="file" type="file" class="azzurro" id="file" />
    </span>



    <input name="submit" type="submit" class="azzurro" value="Upload !!" />
    </div>
    </form></td>
    </tr>
    </table>
    </div>
    </tr>
    </table>
    </center>
    </div>

    <? else: ?>

    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>area protetta</title>
    <div align="center" class="azzurro">
    <center>
    <table border="0" cellpadding="0" cellspacing="0" width="90%">
    <tr>
    <td width="100%"><table width="400" height="47" border="0" align="center" cellpadding="00">
    <tr>
    <td background="sf_tit.jpg"><div align="center"><span class="nero_sott">Area
    protetta - Non sei autorizzato all'accesso</span></div></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td width="100%" height="290"><table width="24%" height="19" border="0" align="center" cellpadding="00">
    <tr>
    <td width="486"><div align="center" class="codice"><a href="accesso_area_upload.htm" class="codice">Stefano! non hai messo la password corretta!!

    torna al LOGIN</a></div></td>
    </tr>
    </table></td>
    </tr>
    </table>
    </center>
    </div>
    <? endif; ?>
    ......................................
    up.php:
    <?php


    //dichiaro in automatico il percorso dei files uploadati
    //calcolo document_root sottraendo il numero di caratteri del path_translated
    if(!isset($_SERVER['DOCUMENT_ROOT'])){
    if(isset($_SERVER['SCRIPT_FILENAME'])){
    $_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr($_SERVER['SCRIPT_FILENAME'], 0, 0-strlen($_SERVER['PHP_SELF'])));
    };
    };

    if(!isset($_SERVER['DOCUMENT_ROOT'])){
    if(isset($_SERVER['PATH_TRANSLATED'])){
    $_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr(str_replace('\\\\', '\\', $_SERVER['PATH_TRANSLATED']), 0, 0-strlen($_SERVER['PHP_SELF'])));
    };
    };

    $PercorsoDominio = $_SERVER['DOCUMENT_ROOT'];
    //echo "
    ".$PercorsoDominio;
    $public = "/public/upload/";
    if(is_dir($PercorsoDominio.$public))
    {

    echo "<font color=green>Check cartella OK.</font>
    ";

    }
    else
    {

    echo "<font color=red>ATTENZIONE LA CARTELLA DI DESTINAZIONE NON ESISTE. FARE RIFERIMENTO ALLA GUIDA, CREARE LA CARTELLA. UPLOAD NON RIUSCITO</font>
    ";
    exit;
    }




    if ((($_FILES["file"]["type"] == "image/gif")
    || ($_FILES["file"]["type"] == "image/jpeg")
    || ($_FILES["file"]["type"] == "image/pjpeg")
    || ($_FILES["file"]["type"] == "application/zip")
    || ($_FILES["file"]["type"] == "application/rar")
    || ($_FILES["file"]["type"] == "application/x-zip-compressed")
    || ($_FILES["file"]["type"] == "application/x-shockwave-flash"))
    && ($_FILES["file"]["size"] < 2000000000))
    {
    if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "
    ";
    }
    else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "
    ";
    echo "Tipo: " . $_FILES["file"]["type"] . "
    ";
    echo "Dimensione: " . ($_FILES["file"]["size"] / 1024) . " Kb
    ";
    echo "File temporaneo: " . $_FILES["file"]["tmp_name"] . "
    ";


    if (file_exists($PercorsoDominio. $public . $_FILES["file"]["name"]))

    {
    echo $_FILES["file"]["name"] . " esistente. ";
    }
    else
    {
    move_uploaded_file($_FILES["file"]["tmp_name"],
    $PercorsoDominio. $public . $_FILES["file"]["name"]);

    echo "Upload eseguito con successo";

    }
    }
    }
    else
    {
    echo "Tipo di file non valido";
    }
    ?>

    e vedo che funzia... !!
    Se volessi far accettare dal server tutti i file e non solo quelli scritti nel FILE type che dovrei eliminare dal codice?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.