Visualizzazione risultati 1 fino 5 di 5

Discussione: Impostare il percoso per l'upload

  1. #1
    akis non è connesso Utente giovane
    Data registrazione
    03-03-2010
    Residenza
    Acireale
    Messaggi
    79

    Predefinito Impostare il percoso per l'upload

    Salve ragazzi, ho questo problema:
    devo creare nella cartella UPLOADS una cartella ANNO, in formato AAAA, (ad es. 2013) e successivamente, all'interno della cartella anno, quella MESE, in formato MM (ad es. 11), se le cartelle no esistono, si provvede a crearle. Fin qui tutto ok, quando però è il momento di impostare la cartella di destinazione.... qualcosa non va ed il file non viene copiato. Dove sbaglio?
    Qualcuno mi sa rispondere? Grazie

    Codice PHP:

    $Year
    = date('Y');
    $Mounth = date('m');


    if (
    is_dir("../uploads/")) {
    //
    } else {
    mkdir("../uploads/", 0777);
    }

    if (
    is_dir("../uploads/$Year/")) {
    //
    } else {
    mkdir("../uploads/$Year/", 0777);
    }

    if (
    is_dir("../uploads/$Year/$Mounth/")) {
    //
    } else {
    mkdir("../uploads/$Year/$Mounth/", 0777);
    }
    // Define a destination
    $targetFolder = '../uploads/$Year/$Mounth/'; // Relative to the r

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Prova sostituendo
    Codice PHP:
    $targetFolder = '../uploads/$Year/$Mounth/';
    con
    Codice PHP:
    $targetFolder = '../uploads/'.$Year.'/'.$Mounth.'/';
    oppure con:
    Codice PHP:
    $targetFolder = "../uploads/$Year/$Mounth/";
    (dovrebbe funzionare in entrambi i modi)

    Ciao!

  3. #3
    akis non è connesso Utente giovane
    Data registrazione
    03-03-2010
    Residenza
    Acireale
    Messaggi
    79

    Predefinito

    Ciao Alemoppo,
    purtroppo avevo già provato così come mi hai indicato nella tua risposta ma..... non funziona. Vengono create le cartelle, se non esistono, upload\2013\11
    Qualche altro suggerimento?
    Grazie

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    prova a stampare alla fine:
    Codice PHP:
    var_dump(is_dir($targetFolder));
    Se stampa
    Codice:
    bool(false)
    significa che il percorso non esiste/le cartelle non sono state create correttamente.
    Altrimenti, se stampa:
    Codice:
    bool(true)
    Probabilmente c'é qualche errore nella copia.

    Ciao!
    Ultima modifica di alemoppo : 08-11-2013 alle ore 17.20.35

  5. #5
    akis non è connesso Utente giovane
    Data registrazione
    03-03-2010
    Residenza
    Acireale
    Messaggi
    79

    Predefinito

    lo script stampa questo: bool(true), quindi le cartelle sono ok.
    posto il codice completo dello script

    File index.php

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>UploadiFive Test</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
    <script src="jquery.uploadify.min.js" type="text/javascript"></script>
    <link rel="stylesheet" type="text/css" href="uploadify.css">
    <style type="text/css">
    body {
    font: 13px Arial, Helvetica, Sans-serif;
    }
    </style>
    </head>

    <body>
    <h1>Uploadify Demo</h1>
    <form>
    <div id="queue"></div>
    <input id="file_upload" name="file_upload" type="file" multiple="true">
    </form>

    <script type="text/javascript">
    <?php $timestamp = time();?>
    $(function() {
    $('#file_upload').uploadify({
    'formData' : {
    'timestamp' : '<?php echo $timestamp;?>',
    'token' : '<?php echo md5('unique_salt' . $timestamp);?>'
    },
    'swf' : 'uploadify.swf',
    'uploader' : 'uploadify.php'
    });
    });
    </script>
    </body>


    File Umlpadfy

    <?php
    /*
    Uploadify
    Copyright (c) 2012 Reactive Apps, Ronnie Garcia
    Released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
    */

    /* Elebora la cartella di destinazione in base alla data
    dell'upload
    */
    $Year = date('Y');
    $Mounth = date('m');


    if (is_dir("../uploads/")) {
    //
    } else {
    mkdir("../uploads/", 0777);
    }

    if (is_dir("../uploads/$Year/")) {
    //
    } else {
    mkdir("../uploads/$Year/", 0777);
    }

    if (is_dir("../uploads/$Year/$Mounth/")) {
    //
    } else {
    mkdir("../uploads/$Year/$Mounth/", 0777);
    }
    // Define a destination
    $targetFolder = '../uploads/'.$Year.'/'.$Mounth.''; // Relative to the root

    $verifyToken = md5('unique_salt' . $_POST['timestamp']);

    if (!empty($_FILES) && $_POST['token'] == $verifyToken) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
    $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];

    // Validate the file type
    $fileTypes = array('jpg','jpeg','gif','png'); // File extensions
    $fileParts = pathinfo($_FILES['Filedata']['name']);

    if (in_array($fileParts['extension'],$fileTypes)) {
    move_uploaded_file($tempFile,$targetFile);
    echo '1';
    } else {
    echo 'Invalid file type.';
    }
    }
    ?>


    Grazie!!
    Ultima modifica di akis : 08-11-2013 alle ore 18.11.21

Regole di scrittura

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