Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    119

    Upload file. Avviso se il file ha caratteri non supportati.

    Devo aggiungere una nuova condizione a questo codice per fare l'upload del file immagine.

    In pratica se l'immagine ha nel nome le parentesi quadre [ ] devo mandare un avviso all'utente.

    Codice PHP:
     <?php
      
    // ---------------
      // INITIALIZE PAGE
      // ---------------
      
    require_once('scripts/sb_functions.php');
      global 
    $logged_in;
      
    $logged_in logged_intruetrue );
      
      
    read_config();
      
      require_once(
    'languages/' $blog_config'blog_language' ] . '/strings.php');
      
    sb_language'upload_img' );
      
      
    // ---------------
      // POST PROCESSING
      // ---------------
      
      
    for ($i=0;$i<count($_FILES['userfile']);$i++) {
      
        if (
    $ok == null) {
          
    $ok false;
        }
        
        if (
    is_uploaded_file($_FILES['userfile']['tmp_name'][$i])) {
          if ( 
    $_FILES'userfile' ][ 'error' ][$i] == ) {
            if (!
    file_exists(IMAGES_DIR)) {
              
    $oldumask umask(0);
              @
    mkdir(IMAGES_DIR0777 );
              @
    umask($oldumask);
            }
                  
            
    $uploaddir IMAGES_DIR;
            
    $uploadfile $uploaddir preg_replace("/ /","_",$_FILES['userfile']['name'][$i]);
            
            if ( @
    getimagesize($_FILES['userfile']['tmp_name'][$i]) == FALSE ){
              echo(
    'Image is not valid or not an image file.');
              exit;
            }
            
            if (
    strpos($uploadfile".") === false) {
              echo(
    'File does not have an extension');
              exit;
            }
            
            if (
    strpos($uploadfile".") == 0) {
              echo(
    'File begins with "."');
              exit;
            }
            
            if (
    strrpos($uploadfile".") == strlen($uploadfile)-1) {
              echo(
    'File ends with "."');
              exit;
            }
            
            
    $extension strtolower(substr(strrchr($uploadfile"."), 1));
            
            if (
    strlen($extension) == 0) { // Not really needed...
              
    echo('File ends with "." and does not have an extension');
              exit;
            }
            
            
    // Allowed files
            
    $upload_valid_extentions = array( "jpg""gif""png" );
            
    $extension strtolower(substr(strrchr($uploadfile"."), 1));
            if (!
    in_array($extension$upload_valid_extentions)) {
              echo(
    'That filetype is not allowed');
              exit;
            }
            
            
    // Explicitly denied files 
            
    $upload_denied_extentions = array( "exe""pl""php""php3""php4""php5""phps""asp","cgi""html""htm""dll""bat""cmd" );
            foreach (
    $upload_denied_extentions AS $denied_extention) {
              if(
    $denied_extention == $extension) {
                echo(
    'That filetype is not allowed');
                exit;
              }    
            }
        
            if ( 
    move_uploaded_file($_FILES['userfile']['tmp_name'][$i], $uploadfile ) ) {
              
    chmod$uploadfile0777 );
              
    $ok true;
            } else {
              
    $ok false;
            }
          }
        }
      }
      if ( 
    $ok === true ) {
        
    redirect_to_url'add.php' );
      }
      
    // ------------
      // PAGE CONTENT
      // ------------
      
    function page_content() {
        global 
    $lang_string$user_colors;
        if ( 
    $ok !== true ) {
          echo( 
    $lang_string'error' ] . $ok '

    );
        }
        
    //echo(count($_FILES['userfile']));
        //print_r($_FILES['userfile']);
        //echo($_FILES['userfile']['name'][0]);
        
    echo( '[url="index.php"]' $lang_string'home' ] . '[/url]

    );
      }
    Non so bene come scrivere la condizione della presenza dei cartteri [ ] in php (lo script non l'ho fatto io).

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    119
    Forse è + semplice trasformare direttamente le quadre in tonde ?

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.