Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662

    Upload file --- in blog con PHP

    RAGAZZI!!!!!
    ho bisogno di un genio...

    Ho scaricato un "pacchetto" per crearmi il mio bel blog nel mio bel sito (myBloggie)
    Funziona abbastanza bene, anche se va ancora customizzato.
    C'è solo un piccolo fondamentale problema...
    NON MI UPLOADA I FILES dal pannello di controllo!!

    mi da quest'errore:

    Fatal error: Call to undefined function: do_upload() in /web/htdocs/www.fuorirignano.com/home/blog_02/upload.php on line 83

    Da premettere, alla cartella dove vanno uploadati i files (la cartella "files") ho dato permesso 777!!!

    Riporto quì in basso il codice, AIUTATEMIII vi prego !!!

    codice:
    <?
    
    if ( !defined('IN_MYBLOGGIE') )
      {
        die("You are not allowed to access this page directly !");
      }
    
    // Added security
    if (!isset($_SESSION['username']) && !isset($_SESSION['passwd'])) {
      header( "Location: ./login.php" );
      }
    else {
      $username = $_SESSION['username'];
      $result = mysql_query( "SELECT id, user, level FROM ".USER_TBL." WHERE user='$username'" ) or error( mysql_error() );
      $userid = mysql_fetch_array( $result );
      $_SESSION['user_id'] =   $userid['id'];
      $level =   $userid['level'];
    }
    
    if ($level==1) {
    
    $template->set_filenames(array(
            'upload' => 'admin/upload.tpl'));
    
    $template->assign_vars(array(
         'L_UPLOAD'       => $lang['Upload'],
         'L_FILE'         => $lang['File'],
         'L_ACTION'       => $lang['Del'],
         //'L_REENTER_PASS'       => $lang['Reenter_password'],
         ));
    $upload_dir    = "files/";
    $site_name = $_SERVER['HTTP_HOST'];
    $url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
    $url_this =  "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
    
    $upload_url = $url_dir."/".$upload_dir;
    $message ="";
    
    // Create Upload Directory
    
    if (!is_dir("files")) {
      if (!mkdir($upload_dir))
        die ("upload_files directory doesn't exist and creation failed");
      if (!chmod($upload_dir,0755))
        die ("change permission to 755 failed.");
    }
    
    
    //   Process User's Request
    
    if (!empty($_REQUEST['del'])) echo  "Request".$_REQUEST['del'];
    if (!empty($_REQUEST['del']) && $allow_delete)  {
      $resource = fopen("log.txt","a");
      fwrite($resource,date("Ymd h:i:s")."DELETE - ".$_SERVER['REMOTE_ADDR'].$_REQUEST['del']."\n");
      fclose($resource);  
      
      if (strpos($_REQUEST['del'],"/.")>0);                  //possible hacking
      else if (strpos($_REQUEST['del'],"files/") === false); //possible hacking
      else if (substr($_REQUEST['del'],0,6)=="files/") {
        unlink($_REQUEST[del]);
        echo "<script>window.location.href='$url_this?mode=upload&amp;message=deleted successfully'</script>";
      }
    }
    else if (!empty($_FILES['userfile'])) {
      $resource = fopen("log.txt","a");
      fwrite($resource,date("Ymd h:i:s")."UPLOAD - ".$_SERVER['REMOTE_ADDR']
                .$_FILES['userfile']['name']." "
                .$_FILES['userfile']['type']."\n");
      fclose($resource);
    
      $file_type = $_FILES['userfile']['type']; 
      $file_name = $_FILES['userfile']['name'];
      $file_ext = substr($file_name,strrpos($file_name,"."));
    
      //File Size Check
      if ( $_FILES['userfile']['size'] > $max_size)
         $message = "The file size is over 2MB.";
      //File Type/Extension Check
      else if (!in_array($file_type, $file_mimes)
              && !in_array($file_ext, $file_exts) )
         $message = "Sorry, $file_name($file_type) is not allowed to be uploaded.";
      else
         $message = do_upload($upload_dir, $upload_url);
      
      echo "<script>window.location.href='$url_this?mode=upload&amp;message=$message'</script>";
    }
    else if (empty($_FILES['userfile']));
    else 
      $message = "Invalid File Specified.";
    
    //  List Files
    
    $handle=opendir($upload_dir);
    //$filelist = "";
    
    while ($file = readdir($handle)) {
    
       if(!is_dir($file) && !is_link($file)) {
          $filename = "<a href=\"$upload_dir$file\">".$file."</a>";
          //$filelist .= "<a href=\"$upload_dir$file\">".$file."</a>";
          if ($allow_delete)
               $u_delete = "<a class=\"std\" href=\"?mode=upload&amp;del=$upload_dir$file\" title=\"delete dile\">delete</a>";
            //$filelist .= " <a class=\"std\" href=\"?mode=upload&amp;del=$upload_dir$file\" title=\"delete dile\">delete</a>
    ";
    
       $template->assign_block_vars('listing', array(
          'FILE' => $filename,
          'DELETE' => $u_delete,
           ));
       }
    }
    function do_upload($upload_dir, $upload_url) {
    
      $temp_name = $_FILES['userfile']['tmp_name'];
      $file_name = $_FILES['userfile']['name']; 
      $file_name = str_replace("\\","",$file_name);
      $file_name = str_replace("'","",$file_name);
      $file_path = $upload_dir.$file_name;
    
      //File Name Check
      if ( $file_name =="") { 
        $message = "Invalid File Name Specified";
        return $message;
      }
    
      $result  =  move_uploaded_file($temp_name, $file_path);
      if (!chmod($file_path,0755))
         $message = "change permission to 755 failed 1.";
      else
        $message = ($result)?"$file_name uploaded successfully." :
                 "Somthing is wrong with uploading a file.";
      return $message;
    }
    
    if (!isset($filename)) {
       $template->assign_block_vars('listing', array(
          'FILE' => "<font color=\"red\">".$lang['No_File']."</font>" ,
           ));
           }
    $template->pparse('upload');
    ?>
    
    <center>
    
       <font color="red"><? if (!empty($_REQUEST['message'])) echo $_REQUEST['message'] ?></font>
       
    
       <form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
         Upload File <input type="file" id="userfile" name="userfile">
         <input type="submit" name="upload" value="Upload">
       </form>
    </center>
    
    <?
    }
    else
    {
    die ("You are not supposed to be here unless you are done something that is not right");
    }
    ?>
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  2. #2
    nn trova la funzione do_upload() da nessuna parte...... vai a scoprire il perchè!

    Può essere che sia in un file incluso che per errore non è incluso.... o che sia stata rinominata....

    indaga un po'


  3. #3
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662
    ma la funzione viene chiamata (credo) nella stessa pagina più in alto!!!

    La riga incriminata dell'errore recita:

    $message = do_upload($upload_dir, $upload_url);

    Più in alto nella pagina c'è questo blocco:

    codice:
    function do_upload($upload_dir, $upload_url) {
    
      $temp_name = $_FILES['userfile']['tmp_name'];
      $file_name = $_FILES['userfile']['name']; 
      $file_name = str_replace("\\","",$file_name);
      $file_name = str_replace("'","",$file_name);
      $file_path = $upload_dir.$file_name;
    
      //File Name Check
      if ( $file_name =="") { 
        $message = "Invalid File Name Specified";
        return $message;
      }
    Puoi aiutarmi, non ne capisco molto di php, posso solo andare per logica.
    GRAZZZZzzzzZZZie!!
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  4. #4
    è molto strano allora


    la funzione è definita come prima cosa? non è che c'è del codice prima.. che magari la funzione è definita dentro un blocco condizionale e quindi magari nel tuo caso non viene definita...

    non saprei che altro dirti

  5. #5
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662
    Ma che significa???????????
    Quindi teoricamente nel codice non c'è errore!!!!?
    bhooo...

    Grazie cmq guidoz.

    C'è qualcun'altro che può risolvere l'arcano??
    Credo che un programmatore php troverebbe l'errore in un micron!

    daaaiii... GRAZZZzzje
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

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.