Visualizzazione risultati 1 fino 9 di 9

Discussione: [PHP] Script Upload Files!

  1. #1
    Guest

    Post [PHP] Script Upload Files!

    Ciao a tutti, sto creando uno script per il mio sito...
    ecco il codice:
    uploadfile2.php
    Codice PHP:
    <html>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>@@@Upload File@@@</title>
    </head>

    <body>
    <form enctype="multipart/form-data" method="POST">
    <table>
    <tr><td>Cartella:</td></tr>
    <tr><td><select size="1" name="cartella" />
    <option selected value="lottiresidenziali">Lotti Residenziali</option>
    <option value="lotticomunitari">Lotti Comunitari</option>
    <option value="oggetti">Oggetti</option>
    </select></td></tr>
    <tr><td>File:</td></tr>
    <tr><td><input type="file" name="file_0" /></td></tr>
    <tr><td>Password:</td></tr>
    <tr><td><input type="password" name="password" value="Password" /></td></tr>
    <tr><td><input type="submit" name="invia" value="Upload Files" /></td></tr>
    </table>
    </form>
    <?php


    if(isset($_POST['invia'])) {

    if(
    $_POST['password'] == $password) {
    $password = "prova"; // Password da inserire per verificare se č Admin!

    $cartella = $_POST['cartella']; // Nome della cartella (da scegliere)

    $posizione = "/home/hosting/c/creativesims/www/images/".$cartella."/"; // Cartella "images" + quella scelta


    if(move_uploaded_file($_FILES['file_0']['tmp_name'], $posizione)) {



    echo
    "<b>File Uplodato</b>: <a href=\"".$_FILES['file_0']['name']."\">".$_FILES['file_0']['name']."</a><br />"; // <a href="$FILE">$FILE</a>


    } // Fine: File Uplodato!
    else {

    echo
    "<b>File non Uplodato</b>: ".$_FILES['file_0']['name']."";

    }
    // Fine: Errore upload file!

    } // Fine: Password Giusta!

    else {
    echo
    "<b>Password Errata!</b>"; // Password Errata!

    } // Fine: Password Errata!

    } // Fine: $_POST['invia']
    ?>
    </body>

    </html>
    Il problema č questo:
    - Quando clikko su "Upload File" non mi funziona...ossia non mi da errori o altro...e come se il codice php non funzionasse...
    Quello che vorrei fare:
    - Come vedete il coso dell'upload si chiama "file_0" io vorrei un javascript in fondo che io clikko e mi si aggiunge un file upload e accanto ad ognuno di essi uno che lo rimuova, con nome "file_$" ma questi devono essere inviati al php e come posso fare visto che io ne ho previsto solo 1???
    Grazie! Ciao Davide! :)

  2. #2
    L'avatar di saitfainder
    saitfainder non č connesso Sėniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Comincia col sistemare questo:
    Codice PHP:
    if($_POST['password'] == $password) {
    $password = "prova"; // Password da inserire per verificare se č Admin!
    Come fa a funzionare il controllo della password se la variabile $password la valorizzi solo dopo?


    «Č una mia peculiaritą distorcere la veritą e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    Ho provato a modificare un po di cose:
    Codice PHP:
    <html>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>@@@Upload File@@@</title>
    </head>

    <body>
    <form enctype="multipart/form-data" method="POST">
    <table>
    <tr><td>Cartella:</td></tr>
    <tr><td><select size="1" name="cartella" />
    <option selected value="lottiresidenziali">Lotti Residenziali</option>
    <option value="lotticomunitari">Lotti Comunitari</option>
    <option value="oggetti">Oggetti</option>
    </select></td></tr>
    <tr><td>File:</td></tr>
    <tr><td><input type="file" name="file" /></td></tr>
    <tr><td>Password:</td></tr>
    <tr><td><input type="password" name="password" value="Password" /></td></tr>
    <tr><td><input type="submit" name="invia" value="Upload Files" /></td></tr>
    </table>
    </form>
    <?php


    if(isset($_POST['invia'])) {


    $password = "prova"; // Password da inserire per verificare se č Admin!

    $cartella = $_POST['cartella']; // Nome della cartella (da scegliere)

    $file = $_FILES['file']['name']; // File da caricare ricevuto via $_POST

    $filetmp = $_FILES['file']['tmp_name']; // File temporaneo da caricare...

    $posizione = "/home/hosting/c/creativesims/www/images/".$cartella."/"; // Cartella "images" + quella scelta

    if($_POST['password'] == $password) {


    if(
    copy($filetmp,"$cartella/$file")) {



    echo
    "<b>File Uplodato</b>: <a href=\"".$file."\">".$file."</a><br />"; // <a href="$FILE">$FILE</a>


    } // Fine: File Uplodato!
    else {

    echo
    "<b>File non Uplodato</b>: ".$file."";

    }
    // Fine: Errore upload file!

    } // Fine: Password Giusta!

    else {
    echo
    "<b>Password Errata!</b>"; // Password Errata!

    } // Fine: Password Errata!

    } // Fine: $_POST['invia']
    ?>
    </body>

    </html>
    Ma mi dice questo:
    Warning: copy() [function.copy]: open_basedir restriction in effect. File() is not within the allowed path(s): (/home/hosting/c/creativesims/www/:/tmp/:/apache/.eaccelerator/:/apache/.sessions/) in /home/hosting/c/creativesims/www/uploadfile2.php on line 43

  4. #4
    L'avatar di saitfainder
    saitfainder non č connesso Sėniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Forse conviene che ti rileggi http://it.php.net/manual/it/features.file-upload.php

    Per ovviare all'errore devi usare move_uploaded_file()


    «Č una mia peculiaritą distorcere la veritą e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    Guest

    Predefinito

    Ho risolto..ora il problema č questo..io vorrei un js che quando clikko su "+ box" mi si aggiunga un box per l'upload del file, ma allo stesso tempo con un pulsante accanto rimuovi...ma qui credo di arrivarci...il problema č dopo: come faccio a ricevere i file via php con tanti box????
    Grazie!Ciao Davide! ^^

  6. #6
    L'avatar di saitfainder
    saitfainder non č connesso Sėniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Puoi creare i vari campi di input con uno stesso nome del tipo "nomefile[]". Esempio:

    Codice HTML:
    <html>
    <body>
    <form method=post>
    <input name="cane[]" value="bau">
    <input name="cane[]" value="wof">
    </form>
    <pre>
    <?php
    print_r($_POST);
    ?>
    </pre>
    </body>
    </html>
    Il PHP ti fornirą automaticamente un array.


    «Č una mia peculiaritą distorcere la veritą e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  7. #7
    Guest

    Predefinito

    Ma quindi se io metto..
    Codice PHP:
    <input type="file" name="file[]" /><br /><input type="file" name="file[]" />
    Lui riceve tutti i file diversi tramite un $_POST con array???
    Ciao!

  8. #8
    Ospite Guest

    Predefinito

    si, con $_post['file']....

  9. #9
    Guest

    Predefinito

    Ecco il mio script:
    Codice PHP:
    <html>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>@@@Upload File@@@</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    var num=1;
    function accoda(){
    if(document.createElement && document.getElementById && document.getElementsByTagName) {
    // crea elementi
    var oTr=document.createElement("TR");
    var oTd1=document.createElement("TD");
    var oTd2=document.createElement("TD");
    var oField=document.createElement("INPUT");
    var oButt=document.createElement("INPUT");

    // setta attributi
    oField.setAttribute("type","file");
    oField.setAttribute("name","file[]");
    oButt.setAttribute("type","button");
    oButt.setAttribute("value","Elimina");

    // setta gestore evento
    if(oButt.attachEvent) oButt.attachEvent('onclick',function(e){rimuovi(e);})
    else if(oButt.addEventListener) oButt.addEventListener('click',function(e){rimuovi(e);},false)

    // appendi al relativo padre
    oTd1.appendChild(oField);
    oTd2.appendChild(oButt);
    oTr.appendChild(oTd1);
    oTr.appendChild(oTd2);
    document.getElementById('tabella').getElementsByTagName('TBODY')[0].appendChild(oTr);

    // incrementa variabile globale
    num++
    }
    }


    function rimuovi(e){
    if(document.removeChild && document.getElementById && document.getElementsByTagName) {
    if(!e) e=window.event;
    var srg=(e.target)?e.target:e.srcElement;

    // risali al tr del td che contiene l' elemento che ha scatenato l' evento
    while(srg.tagName!="TR"){srg=(srg.parentNode)?srg.parentNode:srg.parentElement}

    // riferimento al tbody
    var tb=document.getElementById('tabella').getElementsByTagName('TBODY')[0];

    // rimuovi
    tb.removeChild(srg);
    }
    }
    //-->
    </script>
    </head>

    <body>
    <form enctype="multipart/form-data" method="POST">
    <table>
    <tr><td><input type="button" value="+ Box File" onclick="accoda()" /></td></tr>
    <tr><td>Cartella:</td></tr>
    <tr><td><select size="1" name="cartella" />
    <option selected value="lottiresidenziali">Lotti Residenziali</option>
    <option value="lotticomunitari">Lotti Comunitari</option>
    <option value="oggetti">Oggetti</option>
    </select></td></tr>
    <tr><td>File:</td></tr>
    <table id="tabella">
    <tr><td><input type="file" name="file[]" /></td><td><input type="button" disabled="disabled" value="Elimina" /></td></tr>
    </table>
    <table>
    <tr><td>Password:</td></tr>
    <tr><td><input type="password" name="password" value="Password" /></td></tr>
    <tr><td><input type="submit" name="invia" value="Upload Files" /></td></tr>
    </table>
    </form>
    <?php


    if(isset($_POST['invia'])) {


    $password = "prova"; // Password da inserire per verificare se č Admin!

    $cartella = $_POST['cartella']; // Nome della cartella (da scegliere)

    $file = array($_FILES["file"]["name"]); // File da caricare ricevuto via $_POST

    $filetmp = array($_FILES["file"]["tmp_name"]); // File temporaneo da caricare...

    $posizione = "/home/hosting/c/creativesims/www/images/".$cartella."/"; // Cartella "images" + quella scelta

    $url = "http://www.creativesims.ilbello.com/images/".$cartella."/"; // Indirizzo "images" + quella scelta

    if($_POST['password'] == $password) {


    if(
    move_uploaded_file($filetmp, $posizione.$file)) {



    echo
    "<b>File Uplodato</b>: <a href=\"".$url."".$file."\">".$file."</a><br />"; // <a href="$URL/$FILE">$FILE</a>


    } // Fine: File Uplodato!
    else {

    echo
    "<b>File non Uplodato</b>: ".$url."".$file."<br />";

    }
    // Fine: Errore upload file!

    } // Fine: Password Giusta!

    else {
    echo
    "<b>Password Errata!</b><br />"; // Password Errata!

    } // Fine: Password Errata!

    } // Fine: $_POST['invia']
    ?>
    </body>

    </html>
    Ma va bene??
    Grazie.Ciao Davide! :)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •