Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414

    upload con destinazione variabile

    salve sto facendo in flash un form x l'upload di file, sto utilizzando uno script di un precedente progetto, che dovrei modificare x qst situazione, utilizzo flash e php, ma in qst file php la destinazione dell'upload è fissa, io vorrei parametrizzarla inviando da flash di volta in volta la destinazione da scegliere
    qst è lAs
    Codice PHP:
    on (release) {    
    import flash.net.FileReference;
    var 
    listener:Object = new Object();
    listener.serverfile 'upload_thumbs.php';
    listener.onError = function(file:FileReferenceerrorString:String) {
        
    trace("Error with: " file.name "\nType: " errorString);
    }
    listener.onHTTPError 
    listener.onIOError 
    listener.onSecurityError = function(file:FileReferenceerrorString:String):Void {

        if(
    errorString == undefined
            
    errorString "HTTP or Input Output Error";
        
    this.onError(fileerrorString);
    }

    listener.onCancel = function(file:FileReference):Void {
        
    }
    /
    listener.onSelect = function(file:FileReference):Void {
     
        
    trace("onSelect: " file.name);
       
       
        if(!
    file.upload(this.serverfile))
            
    trace("Upload dialog failed to open.");
    }

    listener.onOpen = function(file:FileReference):Void {
        
    trace("onOpen: " file.name);
    }
    listener.onProgress = function(file:FileReferencebytesLoaded:NumberbytesTotal:Number):Void {
        
        var 
    p:Number = new Number(Math.floor(bytesLoaded bytesTotal 100));
        
    setProperty("load_clip"_visible"1");
        
        
    filenometxt.text=file.name;
        
    filesizetxt.text=file.size"byte";
        
    load_clip.loading="File loading: " String(p) + "%";
        
    load_clip.bar._xscale String(p);
    }

    listener.onComplete = function(file:FileReference):Void {
        
        
    carica();
        
    background_image.gotoAndStop(2);
        
    stato=="send";
        
    function 
    carica(){
    thumb=filenometxt.text;
    imagePane.contentPath =  "./public/projects/thumbs/" thumb;
    imagePane.redraw(true);
    _root.uploadBtn.enabled=false;
    continua.gotoAndStop(3);
    }
    report="Upload complete: " file.name;
    }
    var 
    filetype:Array = [  {description "Images (*.jpg, *.jpeg, *.gif, *.png)",
         
    extension "*.jpg; *.jpeg; *.gif; *.png"}   
    ]
    var 
    fileRef:FileReference = new FileReference();
    fileRef.addListener(listener);
    fileRef.browse(filetype);

    e qst è il file php
    Codice PHP:
    <?php // 4, compatibile 5.0 e 5.1
    // Directory di destinazione
    $destination_dir './public/projects/thumbs/';



    // Verifico che il file sia valido e come lui tutte le informazioni
    // Controllo inoltre che non ci siano errori nell' invio ... altrimenti
    // non faccio niente
    if(
        
    // esiste il file di nome Filedata ?
        
    isset($_FILES['Filedata']) &&
        
    // é un array ?
        
    is_array($_FILES['Filedata']) &&
        
    // esistono gli elementi tmp_name, name, size, error
            // di questo array ?
        
    isset(
            
    $_FILES['Filedata']['tmp_name'],
            
    $_FILES['Filedata']['name'],
            
    $_FILES['Filedata']['size'],
            
    $_FILES['Filedata']['error']
        ) &&
        
    // l' errore é esattamente zero ?
        
    intVal($_FILES['Filedata']['error']) === 0
    ) {
          
    //$immname= rand(0,1000)."_".$_FILES['Filedata']['name'];
        // operazione di spostamento da temporanea ad altra cartella
        // se riesco a spostare il file sulla destinazione scrivo un tipo di output
        //if(move_uploaded_file($_FILES['Filedata']['tmp_name'], $destination_dir.$_FILES['Filedata']['name'])) {
        
    if(move_uploaded_file($_FILES['Filedata']['tmp_name'], $destination_dir.$_FILES['Filedata']['name'])) {
          
    // $result = "&result=".$_FILES['Filedata']['name']."&";
            //$result = "&result=".$immname."&";
                
        
    }
       
    }
    ?>
    vorrei che $destination_dir sia parametrizzata

    mi scuso in anticipo se ho sbagliato sezione, ma siccome riguarda anche flash ho pensato fosse indifferente

    grazie

  2. #2
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    cerco di spiegarmi meglio

    vorrei semplicemente rendere dinamico la destinazione dell'upload dell'immagine
    fatto con un form in flash>php

    help me

  3. #3

  4. #4
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    nessuno sa aiutarmi?
    sto facendo un upload con i FileReference AS2
    e la cartella in cui verrà eseguito l'upload de essere variabile

  5. #5
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    allora lasciando perdere lo script di upload che cmq con una cartella predefinita fnziona, vorrei soffermarmi sull'invio da flas a php di una variabile destination

    qui lo script flash richiamato dal pulsante con
    Codice PHP:
    on(press)
    {
        
    _root.sendContenuto();

    allora
    Codice PHP:
    function sendContenuto()
    {
        var 
    sendData:LoadVars=new LoadVars();
        
    sendData.folder="./public/";
        
    sendData.onLoad=function(ok:Boolean):Void
        
    {
            if(
    ok)
                
    trace(this);
            else
                
    trace('php error');
        }
        
    sendData.sendAndLoad('upload_high_res.php',sendData,'POST');

    in qst caso folder è di esempio, in realtà dovrebbero essereci delle variabili!


    in php lo script è qst
    Codice PHP:
    <?php // 4, compatibile 5.0 e 5.1
    $dest $_POST["folder"];

    if(
        
        isset(
    $_FILES['Filedata']) &&
       
        
    is_array($_FILES['Filedata']) &&
        
        isset(
            
    $_FILES['Filedata']['tmp_name'],
            
    $_FILES['Filedata']['name'],
            
    $_FILES['Filedata']['size'],
            
    $_FILES['Filedata']['error']
        ) &&
        
        
    intVal($_FILES['Filedata']['error']) === 0
    ) {
        if(
    move_uploaded_file($_FILES['Filedata']['tmp_name'], $dest.$_FILES['Filedata']['name'])) {
      }
       
    }
    ?>
    ma perchè non funziona?
    grazie anticipatamente

  6. #6
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    da qst discussione
    http://forum.html.it/forum/showthrea...=variabili+php
    sembra che non si possa creare una destinazione variabile con as2
    sbaglio?confermate?
    io sto uando as2, ma se passo ad as3 mi da vari errori x i Loadvars e x attachmovie, come li risolvo qst problemi?

    thanks

  7. #7
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414

    aiutatemi x favore

  8. #8
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    ho provato a fare con il send e con un echo nel php le variabili arrivano,

    non appena vado ad aggiungere qst script al progetto in cui c'è anche il file reference il browser mi da errore!, con sendAndload nn da errore ma non passa neanche le variabili

    qlc1 può aiutarmi?
    thanks

  9. #9
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    è proprio un problema di As2?
    perchè ho visto che le variabili arrivano, ma non le considera proprio nello script PhP, come se non possono essere utilizzate
    funziona solo se definisco la destinazione in php...

  10. #10
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414

    invio variabili AS3

    leggendo gli articoli di And80 sto cercando di rifare l'upload in As3, ma ora mi trovo bloccato allo stesso punto in cui ero con las2, e cioè non riesco a passare la variabile della destinazione a php
    ho usato i codici di And80 sull'upload di file, sul send e load vars e sulle azioni x i pulsanti

    Codice PHP:
    browsebutton.addEventListener(MouseEvent.CLICKclickHandler);
    function 
    clickHandler(e:MouseEvent) {
            
    out();
    }

    function 
    out() {
        
    // inizializzo una variabile che contiene il nome del file a cui inviare i dati
    var url:String "test_uploadAS3.php";
    // inzializzo un oggetto URLVariables preposto a contenere le variabili da inviare e lo riempio con due variabili
    var variables:URLVariables = new URLVariables();
    variables.folder "./public/works/";
    //variables.prova2 = "seconda variabile";
    // a questo punto creo un nuovo oggetto URLRequest che "riempirò" con le variabili da inviare allo script esterno
    // e accedendo alla sua proprietà "data" gli assegno l'oggetto URLVariables creato e riempito in precedenza
    var request:URLRequest = new URLRequest(url);
    request.data variables;
    // l'ultimo passo è il richiamo della funzione contenuta nel package "flash.net", che invia le variabili all'url richiesto
    // senza aspettarsi una risposta in cambio
    sendToURL(request);
        
    // inizializzazione dell'istanza di FileReference
    var file:FileReference = new FileReference();

    /* configurazione degli eventi associati all'upload del file
    inseriti nell'ordine in cui vengono richiamati se non ci sono intoppi */
    file.addEventListener(Event.SELECTselect); // selezione del file nella finestra di upload
    file.addEventListener(Event.OPENopen); // inizio di upload del file
    file.addEventListener(ProgressEvent.PROGRESSprogress); // descrizione del progresso richiamata periodicamente durante l'upload
    file.addEventListener(Event.COMPLETEcomplete); // completamento della trasmissione del file al server, completato
    file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATAuploadCompleteData); // verifica delle informazioni ricevute dal server sull'avvenuto upload nel server

    // configurazione degli eventi associati ad eventuali errori o scelte dell'utente che bloccano l'upload del file
    file.addEventListener(Event.CANCELerror); // richiamato nel caso che venga cliccato "Annulla" nella finestra di scelta del file
    file.addEventListener(HTTPStatusEvent.HTTP_STATUSerror); // richiamato nel caso di errore generato dal fallimento nell'upload
    file.addEventListener(IOErrorEvent.IO_ERRORerror); // richiamato se l'upload fallisce per errore di comunicazione con il file di upload lato server
    file.addEventListener(SecurityErrorEvent.SECURITY_ERRORerror); // richiamato in caso di violazione delle regole di sicurezza del flash player

    // Funzione richiamata dagli eventi che provocano errore
    function error (event:*):void {
        
    trace("Errore di tipo: " event.type);
    }

    // Funzione richiamata quando il file viene selezionato
    function select(event:Event):void {
        
    trace("select function: name=" file.name " URL=" request.url);
        
    file.upload(request);
    }
    // Funzione richiamata ad inizio upload (o download)
    function open(event:Event):void {
        
    trace("open function: " event);
    }

    // Funzione richiamata dopo onOpen ad upload / download cominciato
    function progress(event:ProgressEvent):void {
        
    trace("progress function name=" file.name " bytesLoaded=" event.bytesLoaded " bytesTotal=" event.bytesTotal);
    }

    /* Funzione richiamata ad upload / download terminato.
    Il file sul server avra' gia' elaborato quando questo metodo verra' richiamato. */
    function complete(event:Event):void {
        
    trace("complete function : " event);
        
    filenometxt.text=file.name;
        
    trac.text="ok";
        
    }

    /* Funzione richiamata ad upload elaborato e terminato sul server
    * L'evento contiene al suo interno una proprietà "data" che contiene la risposta del server
    * e che è utile elaborare nel caso si voglia avere una conferma dell'upload avvenuto
    * utile ad esempio nel caso che si voglia verificare che un determinato file non esista già 
    * sul server e nel caso mostrare un warning all'utente */
    function uploadCompleteData (event:DataEvent) {
        
    trace("upload return data function : " event);
        
    trace("data received : " event.data);
        
    filenometxt.text=file.name;
    }

    /* Array per specificare il tipo di dati da visualizzare per l' upload
    * L' array sarà composto da tante istanze di FileFilter quanti sono i tipi differenti di files da voler far uploadare.
    * Ogni FileFilter sarà composto da due parametri di tipo stringa che rappresenteranno rispettivamente
    * la descrizione del tipo di file) e le estensioni valide per quel tipo di file separate da ";" */
    var filetype:Array = [
        
    // Esempio alcuni tipi di immagini
        
    new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)""*.jpg; *.jpeg; *.gif; *.png"), 
        
    // Esempio files di testo
        
    new FileFilter("Text Files (*.txt, *.rtf)""*.txt; *.rtf"),
        
    // Esempio specifico di un unico file
        
    new FileFilter("Specific File (test.swf)""test.swf"),
        
    // Esempio tutti i files
        
    new FileFilter("All Files (*.*)""*.*")]

    // comando da usare quando vogliamo sfruttare l' upload

    file.browse(filetype);} 
    lìupload funziona se nel php scrivo io la destinzaione, ma come si vede dall'as io ho definito la variabile folder che rappresenta la destinazione che deve considerare il file test_uploadAS3.php che ha qst codice:

    Codice PHP:
    <?php // 4, compatibile 5.0 e 5.1
    // Directory di destinazione
    //$destination_dir = "./public/works/";
    $destination_dir $_POST["folder"];

    // Verifico che il file sia valido e come lui tutte le informazioni
    // Controllo inoltre che non ci siano errori nell' invio ... altrimenti non faccio niente
    if(
        
    // esiste il file di nome Filedata ?
        
    isset($_FILES['Filedata']) &&
        
    // é un array ?
        
    is_array($_FILES['Filedata']) &&
        
    // esistono gli elementi tmp_name, name, size, error
            // di questo array ?
        
    isset(
            
    $_FILES['Filedata']['tmp_name'],
            
    $_FILES['Filedata']['name'],
            
    $_FILES['Filedata']['size'],
            
    $_FILES['Filedata']['error']
        ) &&
        
    // l' errore é esattamente zero ?
        
    intVal($_FILES['Filedata']['error']) === 0
    ) {
        
    // operazione di spostamento da temporanea ad altra cartella
        // se riesco a spostare il file sulla destinazione scrivo un tipo di output
        
    if(move_uploaded_file($_FILES['Filedata']['tmp_name'], $destination_dir.$_FILES['Filedata']['name'])) {
         
    $result "&result=".$_FILES['Filedata']['name']."&";
            
    //echo "result=successfull uploaded&date=".date('Y-m-d H:i:s')."&filename=$n&size={$_FILES['Filedata']['size']}";
        
    }
        
    // altrimenti scrivo un altro tipo di output
        
    else {
          
    $result "&result=Unable to move file&";
            
    //echo "result=unable to move file&date=".date('Y-m-d H:i:s')."&filename={$_FILES['Filedata']['name']}&size={$_FILES['Filedata']['size']}&error={$_FILES['Filedata']['error']}";
        
    }
         if(@
    $fp fopen($destination_dir.'upload.txt''w')) {
            
    fwrite($fp$result);
            
    fclose($fp);
        }
    }


    ?>
    cosa sbaglio?
    grazie x la pazienza scusate x l'insistenza ma sono disperato, cerco di fare del mio meglio ma i miei limiti

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.