Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476

    Richiamare metodo da dentro la classe

    Ciao raga,

    non voglio bestemiare

    se ho una classe del genere:
    [supersaibal]
    class upload {
    function upload(){
    }
    function caricafile(){
    if (una certa condizione si verifica){
    //richiama il metodo inseriscidati();
    this->inseriscidati($var1,$var2);
    }
    }
    function inseriscidati($link1,$link2){
    //query di inserimento;
    }
    }
    [/supersaibal]
    ma non va... mi segnala:
    codice:
    parse error, unexpected T_ELSE
    Sono profano.. abbiate pieta di me.

    :maLOL:


    dies

  2. #2
    ti sei dimenticato il $
    $this


  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    ho sbagliato a ricopiare sul forum è $this, purtroppo non va.

    Cosa mi sfugge?


    grazie

    ciao


    dies

  4. #4
    magari visto l'orario potrei essere totalmente rinco ma a me
    codice:
    <?php
    class upload { 
    function upload(){
    } 
    function caricafile(){ 
    if (1){ 
    //richiama il metodo inseriscidati(); 
    $this->inseriscidati($var1,$var2); 
    } 
    } 
    function inseriscidati($link1,$link2){ 
    //query di inserimento; 
    } 
    }
    $bubu = new upload();
    ?>
    non dà nessun errore

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    Si, non da nessun errore.
    Ma se cerco di adattarlo a questa situazione http://forum.html.it/forum/showthrea...hreadid=764691

    ovvero
    [supersaibal]
    <?php
    // file upload.class.php
    //
    // Marco Barcaro
    // 27/12/2004
    // Testato con Apache 1.3.29, PHP 4.3.10, su winXP
    // Testato con Apache 1.3.26, PHP 4.1.2, su Debian

    $dir_upload=(substr($dir_upload,-1) != "/" && $dir_upload != "") ? $dir_upload."/" : $dir_upload;
    define("DIR_UPLOAD",$dir_upload);
    define("CHMOD_DIR",$chmod_dir);
    define("DEBUG",$debug);
    define("SOVRASCRIVI_FILE",$sovrascrivi_file);
    define("DIM_MASSIMA",$dim_massima*1024);
    define("CHECK_TIPI",$check_tipi);
    define("TIPI_PERMESSI",implode("|",$tipi_permessi) );

    class upload {
    function upload(){
    }

    function caricafile(){
    //CODICE PER L'UPLOAD CON VARI CONTROLLI
    if (count($_FILES) > 0){
    $numero_file= count($_FILES['file']['tmp_name']);
    for($i=0;$i<$numero_file;$i++){
    if($_FILES['file']['size'][$i] == 0){
    echo "L'UPLOAD DEL FILE {$_FILES['file']['name'][$i]} NON E' ANDATO A BUON FINE!
    \n";
    unset( $_FILES['file']['name'][$i]);
    unset( $_FILES['file']['type'][$i]);
    unset( $_FILES['file']['size'][$i]);
    unset( $_FILES['file']['error'][$i]);
    unset( $_FILES['file']['tmp_name'][$i]);
    }
    }
    $numero_file=count( $_FILES['file']['tmp_name']);
    echo "Hai caricato $numero_file file(s)";
    echo "

    \n";
    foreach($_FILES['file']['name'] as $chiave=>$valore){
    if (DEBUG == 1){
    echo "Nome file: ".$_FILES['file']['name'][$chiave]."
    \n";
    echo "Tipo file: ".$_FILES['file']['type'][$chiave]."
    \n";
    echo "Dimensione: ".$_FILES['file']['size'][$chiave]." byte
    \n";
    echo "Nome temporaneo: ".$_FILES['file']['tmp_name'][$chiave]."
    \n";
    }
    if (is_uploaded_file( $_FILES['file']['tmp_name'][$chiave])){
    if ($_FILES['file']['size'][$chiave] <= DIM_MASSIMA){
    if(CHECK_TIPI == 0 || (CHECK_TIPI == 1 && in_array( $_FILES['file']['type'][$chiave], explode("|",TIPI_PERMESSI)))){
    if(!is_dir(DIR_UPLOAD) && DIR_UPLOAD != ""){
    if( !@mkdir(DIR_UPLOAD,CHMOD_DIR))
    die("ERRORE NELLA CREAZIONE DELLA DIRECTORY ".DIR_UPLOAD."");
    }
    if(!file_exists(DIR_UPLOAD.$_FILES['file']['name'][$chiave]) || SOVRASCRIVI_FILE == 1){
    if (@move_uploaded_file( $_FILES['file']['tmp_name'][$chiave], DIR_UPLOAD.$_FILES['file']['name'][$chiave]))
    echo "FILE {$_FILES['file']['name'][$chiave]} TRASFERITO!";
    $var1 .= $_FILES['file']['name'][$chiave];
    $this->inseriscidati($var1);

    else
    die("ERRORE NEL TRASFERIMENTO DEL FILE ".$_FILES['file']['name'][$chiave]."");
    } else
    echo ("IL FILE ".$_FILES['file']['name'][$chiave]." E' ESISTENTE!");
    } else
    echo ("IL TIPO DI FILE ".$_FILES['file']['type'][$chiave]." NON E' CONSENTITO!");
    } else
    echo ("LA DIMENSIONE DEL FILE ".$_FILES['file']['type'][$chiave]." NON E' CONSENTITA!");
    } else
    die("ERRORE NEL TRASFERIMENTO DEL FILE ".$_FILES['file']['name'][$chiave]."");
    echo "<hr />\n";
    }
    }
    }

    function mostraform(){
    //FORM PER EFFETTUARE L'UPLOAD
    echo "<html>
    <head>
    <script type=\"text/javascript\" src=\"esterno.js\"></script>
    </head>
    <body>
    <form action=\"{$_SERVER['PHP_SELF']}\" method=\"POST\" name=\"modulo\" enctype=\"multipart/form-data\">
    <div id=\"attachment\" style=\"display:none\">
    <input id=\"file\" name=\"file\" type=\"file\" size=\"55\" />
    <a href=\"#\" onclick=\"java script:removeFile(this.parentNode.parentNode,this. parentNode);\"> Rimuovi</a>
    </div>
    <div id=\"attachments\">

    <a id=\"addupload\" href=\"java script:addUpload('file')\">Aggiungi file</a>


    <input name=\"file[]\" type=\"file\" size=\"55\" />
    <span id=\"attachmentmarker\"></span>
    </div>
    <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".DIM_MASSIMA."\" />
    <input type=\"submit\" value=\"invia\" />
    </form>
    </body>
    </html>\n";
    }

    function inseriscidati ($link1){

    //$query = ;
    }

    }
    ?>
    [/supersaibal]

    scusami se ti bombardo di codice ... specialmente a quest'ora.

    Ma mi da errore.... inoltre vorrei concatenare i nomi dei file uploadati in modo da passare a inseriscidati per inserirne il nome in un campo del database.

    Ciao


    dies

  6. #6
    se non usi parentesi {} if può contenere solo una istruzione per questo ti dà errore l'else, perchè ne hai 3

    sostituisci con
    codice:
    if (@move_uploaded_file( $_FILES['file']['tmp_name'][$chiave], DIR_UPLOAD.$_FILES['file']['name'][$chiave])){
    echo "FILE {$_FILES['file']['name'][$chiave]} TRASFERITO!"; 
    $var1 .= $_FILES['file']['name'][$chiave]; 
    $this->inseriscidati($var1);
    }else{
    die("ERRORE NEL TRASFERIMENTO DEL FILE ".$_FILES['file']['name'][$chiave]."");
    }
    ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    ho capito.
    Dovrò modificare tutti gli if, perché mi continua a dare ancora errore.

    Grazie per la risposta... soprattutto data l'ora.

    u are the great.








    dies

    ps.
    peccato (per me ) che hai cambiato nick ero affezzionato a quel settesette

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    ok, grazie al suggerimento di bubu77 e alla pazienza di marketto ho risolto.... vi voglio bene

    Però da perfetto pirla in materia di OOP, mi escono fuori degli errori (lo script funziona, solo che mi vengono segnalati degli errori, sono su windowz)

    [supersaibal]
    class upload {
    function upload(){
    }

    function caricafile(){
    //CODICE PER L'UPLOAD CON VARI CONTROLLI
    if (count($_FILES) > 0){
    $numero_file= count($_FILES['file']['tmp_name']);
    for($i=0;$i<$numero_file;$i++){
    if($_FILES['file']['size'][$i] == 0){
    echo "L'UPLOAD DEL FILE {$_FILES['file']['name'][$i]} NON E' ANDATO A BUON FINE!
    \n";
    unset( $_FILES['file']['name'][$i]);
    unset( $_FILES['file']['type'][$i]);
    unset( $_FILES['file']['size'][$i]);
    unset( $_FILES['file']['error'][$i]);
    unset( $_FILES['file']['tmp_name'][$i]);
    }
    }
    $numero_file=count( $_FILES['file']['tmp_name']);
    echo "Hai caricato $numero_file file(s)";
    echo "

    \n";
    foreach($_FILES['file']['name'] as $chiave=>$valore){
    if (DEBUG == 1){
    echo "Nome file: ".$_FILES['file']['name'][$chiave]."
    \n";
    echo "Tipo file: ".$_FILES['file']['type'][$chiave]."
    \n";
    echo "Dimensione: ".$_FILES['file']['size'][$chiave]." byte
    \n";
    echo "Nome temporaneo: ".$_FILES['file']['tmp_name'][$chiave]."
    \n";
    }
    if (is_uploaded_file( $_FILES['file']['tmp_name'][$chiave])){
    if ($_FILES['file']['size'][$chiave] <= DIM_MASSIMA){
    if(CHECK_TIPI == 0 || (CHECK_TIPI == 1 && in_array( $_FILES['file']['type'][$chiave], explode("|",TIPI_PERMESSI)))){
    if(!is_dir(DIR_UPLOAD) && DIR_UPLOAD != ""){
    if( !@mkdir(DIR_UPLOAD,CHMOD_DIR))
    die("ERRORE NELLA CREAZIONE DELLA DIRECTORY ".DIR_UPLOAD."");
    }
    if(!file_exists(DIR_UPLOAD.$_FILES['file']['name'][$chiave]) || SOVRASCRIVI_FILE == 1){
    if (@move_uploaded_file( $_FILES['file']['tmp_name'][$chiave], DIR_UPLOAD.$_FILES['file']['name'][$chiave])){
    echo "FILE {$_FILES['file']['name'][$chiave]} TRASFERITO!";
    $link .= $_FILES['file']['name'][$chiave];
    $this->inseriscidati($link);
    } else
    die("ERRORE NEL TRASFERIMENTO DEL FILE ".$_FILES['file']['name'][$chiave]."");
    } else
    echo ("IL FILE ".$_FILES['file']['name'][$chiave]." E' ESISTENTE!");
    } else
    echo ("IL TIPO DI FILE ".$_FILES['file']['type'][$chiave]." NON E' CONSENTITO!");
    } else
    echo ("LA DIMENSIONE DEL FILE ".$_FILES['file']['type'][$chiave]." NON E' CONSENTITA!");
    } else
    die("ERRORE NEL TRASFERIMENTO DEL FILE ".$_FILES['file']['name'][$chiave]."");
    echo "<hr />\n";
    }
    function inseriscidati ($para){
    echo $para;
    }
    }
    [/supersaibal]

    gli orrori sono questi:
    codice:
    Notice: Undefined variable: link in c:\apache\upload\upload.class.php on line 60
    locandina 8.jpg
    --------------------------------------------------------------------------------
     
    Warning: Missing argument 1 for inseriscidati() in c:\apache\upload\upload.class.php on line 235
    Che vuole il PHP? :maLOL:

    Grazie a tutti.

    dies

  9. #9
    il primo significa che usi una variabile non settata il secondo che chiami il metodo ma non passi l'argomento

    per il primo modifica lo script controllando prima di usare quella variabile se è settata con isset, per l'altro modifica la chiamata alla funzione

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    Ciao,

    dopo un'oretta di per capire come risolvere l'errore... ho messo @ davanti a quelle variabili... non ce la facevo + a


    alla prox bubu77



    ciao

    dies

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