How to upload image and move in folder using jquery ?












1















View:



<script>
$("#team_image").change(function(){
var file_data = $('#team_image').prop('files')[0];
var member_name = $("#member_name").val();
var form_data = new FormData();
form_data.append('file', file_data);
$('#imgs').html("<img src='<?php echo base_url(); ?>resource/loading.gif' />");
$.ajax({
url: '<?php echo base_url(); ?>upload',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(php_script_response){
$("#imgs").html(php_script_response);
}
});
});
</script>
<input id="team_image" type="file" name="team_image" />
<input id="member_name" type="text" name="member_name" />


Controller:



public function upload()
{
if ( 0 < $_FILES['file']['error'] )
{
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else
{
$filename = $_FILES['file']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$allowed = array("jpg", "jpeg", "png");
if(!in_array($ext, $allowed))
{
echo '<p id="red">Only jpg, jpeg, and png files are allowed.</p>';
}
else
{
$data = array(
'member_name'=>$this->input->post('member_name'),
'team'=>$filename
);
$sql = $this->db->insert('team',$data);
move_uploaded_file($_FILES['file']['tmp_name'], ''.FCPATH.'image/team_image/'.$_FILES['file']['name']);
if($sql==true)
{
echo '<p style="color:green;font-weight:bold;">File uploaded Successfully</p>';
}
else
{
echo '<p id="red">Unable to proceed!</p>';
}
}
}
}


In this code I have simple two file i.e. type="file" and type="text". Now, What I actually want when I click on type=" file" image and member_name will insert into database and image should be moved into a folder. I don't know where am I doing wrong? So, How can I do this? Please help me.



Thank You










share|improve this question























  • Could you also explain what is currently happening? Do you get an error?

    – Sven Hakvoort
    Nov 23 '18 at 6:39
















1















View:



<script>
$("#team_image").change(function(){
var file_data = $('#team_image').prop('files')[0];
var member_name = $("#member_name").val();
var form_data = new FormData();
form_data.append('file', file_data);
$('#imgs').html("<img src='<?php echo base_url(); ?>resource/loading.gif' />");
$.ajax({
url: '<?php echo base_url(); ?>upload',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(php_script_response){
$("#imgs").html(php_script_response);
}
});
});
</script>
<input id="team_image" type="file" name="team_image" />
<input id="member_name" type="text" name="member_name" />


Controller:



public function upload()
{
if ( 0 < $_FILES['file']['error'] )
{
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else
{
$filename = $_FILES['file']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$allowed = array("jpg", "jpeg", "png");
if(!in_array($ext, $allowed))
{
echo '<p id="red">Only jpg, jpeg, and png files are allowed.</p>';
}
else
{
$data = array(
'member_name'=>$this->input->post('member_name'),
'team'=>$filename
);
$sql = $this->db->insert('team',$data);
move_uploaded_file($_FILES['file']['tmp_name'], ''.FCPATH.'image/team_image/'.$_FILES['file']['name']);
if($sql==true)
{
echo '<p style="color:green;font-weight:bold;">File uploaded Successfully</p>';
}
else
{
echo '<p id="red">Unable to proceed!</p>';
}
}
}
}


In this code I have simple two file i.e. type="file" and type="text". Now, What I actually want when I click on type=" file" image and member_name will insert into database and image should be moved into a folder. I don't know where am I doing wrong? So, How can I do this? Please help me.



Thank You










share|improve this question























  • Could you also explain what is currently happening? Do you get an error?

    – Sven Hakvoort
    Nov 23 '18 at 6:39














1












1








1








View:



<script>
$("#team_image").change(function(){
var file_data = $('#team_image').prop('files')[0];
var member_name = $("#member_name").val();
var form_data = new FormData();
form_data.append('file', file_data);
$('#imgs').html("<img src='<?php echo base_url(); ?>resource/loading.gif' />");
$.ajax({
url: '<?php echo base_url(); ?>upload',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(php_script_response){
$("#imgs").html(php_script_response);
}
});
});
</script>
<input id="team_image" type="file" name="team_image" />
<input id="member_name" type="text" name="member_name" />


Controller:



public function upload()
{
if ( 0 < $_FILES['file']['error'] )
{
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else
{
$filename = $_FILES['file']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$allowed = array("jpg", "jpeg", "png");
if(!in_array($ext, $allowed))
{
echo '<p id="red">Only jpg, jpeg, and png files are allowed.</p>';
}
else
{
$data = array(
'member_name'=>$this->input->post('member_name'),
'team'=>$filename
);
$sql = $this->db->insert('team',$data);
move_uploaded_file($_FILES['file']['tmp_name'], ''.FCPATH.'image/team_image/'.$_FILES['file']['name']);
if($sql==true)
{
echo '<p style="color:green;font-weight:bold;">File uploaded Successfully</p>';
}
else
{
echo '<p id="red">Unable to proceed!</p>';
}
}
}
}


In this code I have simple two file i.e. type="file" and type="text". Now, What I actually want when I click on type=" file" image and member_name will insert into database and image should be moved into a folder. I don't know where am I doing wrong? So, How can I do this? Please help me.



Thank You










share|improve this question














View:



<script>
$("#team_image").change(function(){
var file_data = $('#team_image').prop('files')[0];
var member_name = $("#member_name").val();
var form_data = new FormData();
form_data.append('file', file_data);
$('#imgs').html("<img src='<?php echo base_url(); ?>resource/loading.gif' />");
$.ajax({
url: '<?php echo base_url(); ?>upload',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(php_script_response){
$("#imgs").html(php_script_response);
}
});
});
</script>
<input id="team_image" type="file" name="team_image" />
<input id="member_name" type="text" name="member_name" />


Controller:



public function upload()
{
if ( 0 < $_FILES['file']['error'] )
{
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else
{
$filename = $_FILES['file']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$allowed = array("jpg", "jpeg", "png");
if(!in_array($ext, $allowed))
{
echo '<p id="red">Only jpg, jpeg, and png files are allowed.</p>';
}
else
{
$data = array(
'member_name'=>$this->input->post('member_name'),
'team'=>$filename
);
$sql = $this->db->insert('team',$data);
move_uploaded_file($_FILES['file']['tmp_name'], ''.FCPATH.'image/team_image/'.$_FILES['file']['name']);
if($sql==true)
{
echo '<p style="color:green;font-weight:bold;">File uploaded Successfully</p>';
}
else
{
echo '<p id="red">Unable to proceed!</p>';
}
}
}
}


In this code I have simple two file i.e. type="file" and type="text". Now, What I actually want when I click on type=" file" image and member_name will insert into database and image should be moved into a folder. I don't know where am I doing wrong? So, How can I do this? Please help me.



Thank You







php jquery ajax codeigniter






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 23 '18 at 6:32









BruceBruce

235




235













  • Could you also explain what is currently happening? Do you get an error?

    – Sven Hakvoort
    Nov 23 '18 at 6:39



















  • Could you also explain what is currently happening? Do you get an error?

    – Sven Hakvoort
    Nov 23 '18 at 6:39

















Could you also explain what is currently happening? Do you get an error?

– Sven Hakvoort
Nov 23 '18 at 6:39





Could you also explain what is currently happening? Do you get an error?

– Sven Hakvoort
Nov 23 '18 at 6:39












1 Answer
1






active

oldest

votes


















0














Please change AJAX code, don't need to use prop method to get files data, with FormData() method, it will send $_POST & $_FILES data on the server. Also, use form tag.



Please follow below code:-



<script>
$("#team_image").change(function(){
var form_data = new FormData();
$('#imgs').html("<img src='<?php echo base_url(); ?>resource/loading.gif' />");
$.ajax({
url: '<?php echo base_url(); ?>upload',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(php_script_response){
$("#imgs").html(php_script_response);
}
});
});
</script>
<form method="post" enctype="multipart/form-data">
<input id="team_image" type="file" name="team_image" />
<input id="member_name" type="text" name="member_name" />
</form>


On server side (on PHP script) you can get data by using $_FILES (Array) & $_POST (Array).



Please use this.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53441639%2fhow-to-upload-image-and-move-in-folder-using-jquery%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Please change AJAX code, don't need to use prop method to get files data, with FormData() method, it will send $_POST & $_FILES data on the server. Also, use form tag.



    Please follow below code:-



    <script>
    $("#team_image").change(function(){
    var form_data = new FormData();
    $('#imgs').html("<img src='<?php echo base_url(); ?>resource/loading.gif' />");
    $.ajax({
    url: '<?php echo base_url(); ?>upload',
    dataType: 'text',
    cache: false,
    contentType: false,
    processData: false,
    data: form_data,
    type: 'post',
    success: function(php_script_response){
    $("#imgs").html(php_script_response);
    }
    });
    });
    </script>
    <form method="post" enctype="multipart/form-data">
    <input id="team_image" type="file" name="team_image" />
    <input id="member_name" type="text" name="member_name" />
    </form>


    On server side (on PHP script) you can get data by using $_FILES (Array) & $_POST (Array).



    Please use this.






    share|improve this answer




























      0














      Please change AJAX code, don't need to use prop method to get files data, with FormData() method, it will send $_POST & $_FILES data on the server. Also, use form tag.



      Please follow below code:-



      <script>
      $("#team_image").change(function(){
      var form_data = new FormData();
      $('#imgs').html("<img src='<?php echo base_url(); ?>resource/loading.gif' />");
      $.ajax({
      url: '<?php echo base_url(); ?>upload',
      dataType: 'text',
      cache: false,
      contentType: false,
      processData: false,
      data: form_data,
      type: 'post',
      success: function(php_script_response){
      $("#imgs").html(php_script_response);
      }
      });
      });
      </script>
      <form method="post" enctype="multipart/form-data">
      <input id="team_image" type="file" name="team_image" />
      <input id="member_name" type="text" name="member_name" />
      </form>


      On server side (on PHP script) you can get data by using $_FILES (Array) & $_POST (Array).



      Please use this.






      share|improve this answer


























        0












        0








        0







        Please change AJAX code, don't need to use prop method to get files data, with FormData() method, it will send $_POST & $_FILES data on the server. Also, use form tag.



        Please follow below code:-



        <script>
        $("#team_image").change(function(){
        var form_data = new FormData();
        $('#imgs').html("<img src='<?php echo base_url(); ?>resource/loading.gif' />");
        $.ajax({
        url: '<?php echo base_url(); ?>upload',
        dataType: 'text',
        cache: false,
        contentType: false,
        processData: false,
        data: form_data,
        type: 'post',
        success: function(php_script_response){
        $("#imgs").html(php_script_response);
        }
        });
        });
        </script>
        <form method="post" enctype="multipart/form-data">
        <input id="team_image" type="file" name="team_image" />
        <input id="member_name" type="text" name="member_name" />
        </form>


        On server side (on PHP script) you can get data by using $_FILES (Array) & $_POST (Array).



        Please use this.






        share|improve this answer













        Please change AJAX code, don't need to use prop method to get files data, with FormData() method, it will send $_POST & $_FILES data on the server. Also, use form tag.



        Please follow below code:-



        <script>
        $("#team_image").change(function(){
        var form_data = new FormData();
        $('#imgs').html("<img src='<?php echo base_url(); ?>resource/loading.gif' />");
        $.ajax({
        url: '<?php echo base_url(); ?>upload',
        dataType: 'text',
        cache: false,
        contentType: false,
        processData: false,
        data: form_data,
        type: 'post',
        success: function(php_script_response){
        $("#imgs").html(php_script_response);
        }
        });
        });
        </script>
        <form method="post" enctype="multipart/form-data">
        <input id="team_image" type="file" name="team_image" />
        <input id="member_name" type="text" name="member_name" />
        </form>


        On server side (on PHP script) you can get data by using $_FILES (Array) & $_POST (Array).



        Please use this.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 24 '18 at 13:36









        Sorav GargSorav Garg

        8611720




        8611720
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53441639%2fhow-to-upload-image-and-move-in-folder-using-jquery%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

            Alcedinidae

            Origin of the phrase “under your belt”?