Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di neo1976
    Registrato dal
    Mar 2015
    Messaggi
    379

    problema con funzione upload file di una immagine e spedizione tramite form

    provo a caricare un file ad esempio una immagine su un form che dovrebbe spedirla ad una email, solo che il file percorso mi esce scritto: C:\fakepath\immagine.jpg , quindi non il percorso giusto, premio su invio e mi dice che è stata spedita correttamente, mi arriva la email ma non l'immagine, a cosa è dovuto?


    codice HTML:
    <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content=""><meta name="author" content=""><title>Fantastic Form Builder</title><link href="media/css/bootstrap.min.css" rel="stylesheet"><link href="media/css/template_responsive.css" rel="stylesheet"><!--[if lt IE 9]><script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script><script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script><![endif]--><link href="media/css/template.css" rel="stylesheet"></head><body>
    <style type="text/css"> body { background-color:#EBEBEB;}.ifg-preview-continer {    margin:0 auto;    box-shadow:0 0 4px rgba(0, 0, 0, 0.15);    background: #fff;    padding:20px 10px;    margin-top:20px;}.non-responsive-container {    width:980px;    margin:0 auto;}</style><div class="form-vertical container">  <div class="col-md-2"></div>  <div class="col-md-8">  <!--Inline Starts Here-->  <div class="ifg-preview-continer" id="ifg-form-container">    <form method="post" id="ifgForm" onsubmit="return false;">            <div class="form-group">        <label class=" control-label label_defaults" for="ifg-formfield-0" id="ifg-formfield-label-0">                            </label>        <div class=""> <a href="#" onclick="selectUploadFile('0');return false;" class="btn btn-default ">carica file</a> <span id="ifg-upload-file-0"></span>          <input type="hidden" name="ifg-formfield-0" id="ifg-formfield-0" class="" />                  </div>      </div>                          <div id="f1_upload_process" class="form-group" style="display:none;">            <label class=" control-label label_defaults"></label>            <img src="media/images/loader.svg" width="32" />        </div>        <div class="form-group">        <label class=" control-label label_defaults"></label>        <input type="submit" name="ifg-formfield-1" id="ifg-formfield-1" value="Submit" class="form-control element_style_1 event-submit-btn" onclick="submitClicked();return false;" />        </div>                      </form>        <form action="includes/upload.php" method="post" enctype="multipart/form-data" id="upload_form" target="upload_target" onsubmit="startUpload();" >      <div id="f1_upload_form"></div>            <div class="form-group ifg-sort" id="ifg-element-div-0">        <input type="file" name="myfile[]" onchange="showFileNameSelected('0');" id="ifg-formfield-file-0" style="display:none; height:0px; width:0px;" />        <input type="hidden" name="max_file_size[]" value="2" />        <input type="hidden" name="unit_file_size[]" value="MB" />        <input type="hidden" name="ext_auth_type[]" value="all" />        <input type="hidden" name="authorized_file_ext[]" value="doc,docx,jpg,png,pdf,xls,xlsx,txt" />        <input type="hidden" name="file_email_attach_type[]" value="linknattach" />        <input type="hidden" name="err_file_ext[]" value="Disallowed file type" />        <input type="hidden" name="err_file_size[]" value="File too large" />        <input type="hidden" name="file_index[]" value="0" />        <input type="hidden" name="required[]" value="optional" />        <input type="hidden" name="element_required_validation_txt[]" value="This field is Required" />      </div>            <iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0;"></iframe>    </form>          </div>  <!--Inline Ends Here-->  </div>  <div class="col-md-2"></div></div><!--Script Starts Here--><script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script> <script src="media/js/bootstrap.min.js"></script> <script src="media/js/jquery.validate.min.js"></script><script type="text/javascript">
    
    
            $().ready(function() {                <!--        startUpload = function(){              //$('#f1_upload_process').show();                            document.getElementById('f1_upload_form').style.visibility = 'hidden';              return true;        }                stopUpload = function(response){              var result = '';              if (response.success == true){                  if(response.file_names){                                      $.each(response.file_names, function(index, element){                        $("#ifg-formfield-" + index).val(element);                        //alert(element);                     });                  }                 ajaxSubmit();              } else {                                   $(".event-err").remove();                 $.each(response.err, function(index, element){                    $("#ifg-formfield-" + element.fileindex).after(element.err);                    ;                 });                $("#f1_upload_process").hide();                $(".event-submit-btn").show();              }                            document.getElementById('f1_upload_form').innerHTML = result + '';              document.getElementById('f1_upload_form').style.visibility = 'visible';                    return true;           }        //-->                $("#ifgForm").validate({                                                                                                errorElement: 'span',                errorClass: 'help-block',                focusInvalid: true,                ignore: "",                invalidHandler: function (event, validator) {                                                },                highlight: function (element) {                    $(element).closest('.form-group').addClass('has-error');                    $("#f1_upload_process").hide();                    $(".event-submit-btn").show();                },                unhighlight: function (element) {                    $(element).closest('.form-group').removeClass('has-error');                },                success: function (label) {                    label.closest('.form-group').removeClass('has-error');                },                                                                submitHandler: function(form) {                    //ajaxSubmit();                    /*var has_selected_file = $('input[type=file]').filter(function(){                        return $.trim(this.value) != ''                    }).length  > 0 ;*/                    var has_selected_file;                    $('input[type=file]').filter(function(){                        has_selected_file = true;                    }).length  > 0 ;                                    if (has_selected_file) {                        $("#upload_form").submit();                    } else{                        ajaxSubmit();                    }                                    }            });                submitClicked = function(){            $("#f1_upload_process").show();            $(".event-submit-btn").hide();            $(".alert").remove();            $("#ifgForm").submit();        }                selectUploadFile = function(counter){            $("#ifg-formfield-file-"+counter).click();        }                showFileNameSelected = function(counter){            $("#ifg-upload-file-"+counter).html($("#ifg-formfield-file-"+counter).val());        }                ajaxSubmit = function(){            var frmData = $("#ifgForm").serialize();            $.ajax({                url: "includes/ajax.php",                data: frmData,                type: "POST",                dataType: "json",                success:function(response){                    $("#f1_upload_process").hide();                    $(".event-submit-btn").show();                                        if(response.field_success == true){                            var all_success = response.success;                        //if(typeof response.success_email != 'undefined'){                            if(typeof response.success_email != 'undefined' && response.success_email == true){                                $("#ifg-form-container").prepend(response.success_email_msg);                            }else if(typeof response.success_email != 'undefined' && response.success_email == false){                                $("#ifg-form-container").prepend(response.err_email_msg);                                all_success = false;                            }                                                        if(typeof response.db_success != 'undefined' && response.db_success == true){                                $("#ifg-form-container").prepend(response.db_success_msg);                            }else if(typeof response.db_success != 'undefined' && response.db_success == false){                                $("#ifg-form-container").prepend(response.db_error_msg);                                all_success = false;                            }                                                        //if(all_success == true){                                if(typeof response.success_action != 'undefined'){                                    if(response.success_action == 'url-redirection' && typeof response.success_msg != 'undefined'){                                        window.location.href = response.success_msg;                                    }else if(response.success_action == 'custom-msg' && typeof response.success_msg != 'undefined'){                                        $("#ifg-form-container").prepend(response.success_msg);                                    }                                }                            //}                            $('html, body').animate({                                scrollTop: $(".alert").offset().top                            }, 500);                                                    //}                    }else{                                                $.each(response.field_err, function(index, element){                                                        $("#"+element.field_name).after('<div class="has-error event-err"><span class="help-block">'+element.err+'</span></div>');                        });                    }                },                error:function(xhr,err){                    $("#f1_upload_process").hide();                    $(".event-submit-btn").show();                }            });        }            });</script><!--Script Ends Here--></body></html>

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    del codice che hai postato non si capisce praticamente nulla, sembra un form con un pezzo di jQuery e nessun codice PHP

  3. #3
    Utente di HTML.it L'avatar di neo1976
    Registrato dal
    Mar 2015
    Messaggi
    379
    ho utilizzato questo compilatore automatico per realizzare il form: http://fantasticformbuilder.altervis...orm/responsive
    quando lo compilo e premo invio mi arriva tutto alla email, l'unica cosa che non funziona è l'upload per caricare immagini o testi e non capisco il perchè.

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    beh, devi guardare nel codice lato server cosa succede

  5. #5
    Utente di HTML.it L'avatar di neo1976
    Registrato dal
    Mar 2015
    Messaggi
    379
    clasku il compilatore crea tutto il form in automatico, io non sono esperto,per codice lato server che riguarda la parte dell'upload intendi questo?

    Codice PHP:
    <?php
       $result 
    = array();
       
    $sizes = array('MB' => '1024''KB' => '1');
       
    $clear true;
       
    $result['success'] = true;
        
    $result['file_names'] = false;
    //echo "<pre>";print_r($_FILES);exit;
    if($_FILES['myfile']){
       for(
    $i=0$i count($_FILES['myfile']['name']); $i++){
           
    //echo "<pre>";print_r($_POST);exit;
           
    if($_FILES['myfile']['error'][$i] != '4'){
               
    $target_path basename($_FILES['myfile']['name'][$i]);
               
               
    $ext_ar explode("."$_FILES['myfile']['name'][$i]);
               
    $ext end($ext_ar);
               
    //Check File Extension
               
    if($_POST['ext_auth_type'][$i] == 'limited'){
                       
    $allowed_ext explode(","$_POST['authorized_file_ext'][$i]);
                    
                    if(!
    in_array($ext$allowed_ext)){
                        
    $result['success'] = false;
                        
    $clear false;
                        
                        
    $result['err'][$i]['fileindex'] =  $_POST['file_index'][$i];
                        
    $result['err'][$i]['err'] =  '<div class="has-error event-err"><span class="help-block">'.stripslashes(html_entity_decode($_POST['err_file_ext'][$i], ENT_QUOTES)).'</span></div>';
                    }
               }
               if(
    $clear == true){
                   
    //Check File size
                  
    $max_allowed_size =  ($_POST['max_file_size'][$i]) * ($sizes[$_POST['unit_file_size'][$i]]) * 1024;
                   if(
    $_FILES['myfile']['size'][$i] > $max_allowed_size){
                        
    $result['success'] = false;
                        
    $clear false;
                        
                        
    $result['err'][$i]['fileindex'] =  $_POST['file_index'][$i];
                        
    $result['err'][$i]['err'] =  '<div class="has-error event-err"><span class="help-block">'.stripslashes(html_entity_decode($_POST['err_file_size'][$i], ENT_QUOTES)).'</span></div>';
                   }
               }
                
           }elseif(
    $_POST['required'][$i] == 'required'){
                
    $result['success'] = false;
                
    $clear false;
                
    $result['err'][$i]['fileindex'] =  $_POST['file_index'][$i];
                
    $result['err'][$i]['err'] = '<div class="has-error event-err"><span class="help-block">'.stripslashes(html_entity_decode($_POST['element_required_validation_txt'][$i], ENT_QUOTES)).'</span></div>';
            }
       }
       
        if(
    $clear == true){
            for(
    $i=0$i count($_FILES['myfile']['name']); $i++){
                
                
    $target_path basename($_FILES['myfile']['name'][$i]);
                if(@
    move_uploaded_file($_FILES['myfile']['tmp_name'][$i], "../media/uploads/".$target_path)) {
                  
    $result['success'] = true;
                  
    $result['file_names'][$_POST['file_index'][$i]] = $target_path;
                }
            }
            
    sleep(1);
        }
        
    } else {
        
    $result['success'] = true;
        
    $result['file_names'] = false;
    }
              
       
       
    //echo "<pre>";print_r($result);exit;
    ?>


    <script language="javascript" type="text/javascript">window.top.window.stopUpload(<?php echo json_encode($result); ?>);</script>
    Ultima modifica di neo1976; 10-04-2016 a 17:38

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Credo che il problema sia nel punto in cui sposti il file, prova a cambiare così

    Codice PHP:
     $target_path basename($_FILES['myfile']['name'][$i]);
                if(@
    move_uploaded_file($_FILES['myfile']['tmp_name'][$i], "../media/uploads/".$target_path)) {
                  
    $target_path "../media/uploads/".$target_path// in teoria dovresti mettere l'URL del file, dato che da quello che ho capito nella email non alleghi l'immagine ma usi <img src=""...
                  
    $result['success'] = true;
                  
    $result['file_names'][$_POST['file_index'][$i]] = $target_path;
                } 

  7. #7
    Utente di HTML.it L'avatar di neo1976
    Registrato dal
    Mar 2015
    Messaggi
    379
    clasku ho provato ma non funziona neanche così, strano perchè i messaggi li manda normalmente alla mia email, non capisco perchè non riesce a caricare ste benedette immagini e mandarle, c'è da uscire matti, ho passato la notte in bianco per cercare di capire come fare, preso dalla disperazione stanotte ho fatto anche la stupidata di comprare un template che tra l'altro seguendo le istruzioni non mi funziona.

  8. #8
    Utente di HTML.it L'avatar di neo1976
    Registrato dal
    Mar 2015
    Messaggi
    379
    forse ho capito in cosa ho sbagliato, nella configurazione del form ho utilizzato una email qualunque non quella fornita dal mio sito, magari il sito è predisposto a inviare allegati solo nel caso in cui si usi la email del sito, è possibile?

  9. #9
    Utente di HTML.it L'avatar di neo1976
    Registrato dal
    Mar 2015
    Messaggi
    379
    quando provo a caricare un file immagine mi dà questo percorso: C:\fakepath\immagine.png forse è questo percorso sbagliato che non permette all'immagine di caricarsi? qualcuno sa darmi qualche indicazione?

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.