CodeIgniter Forums
mkdir and fopen not creating files - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: Using CodeIgniter (https://forum.codeigniter.com/forum-5.html)
+--- Forum: General Help (https://forum.codeigniter.com/forum-24.html)
+--- Thread: mkdir and fopen not creating files (/thread-77552.html)



mkdir and fopen not creating files - christaliise - 09-15-2020

Im trying to create an advert template for users to place an advert, although I can get the validation to work, the rest does not work.

I think it is caused by the user variable being incorrect somewhere.

This is the edited coding;

PHP Code:
public function drinkadvert()
    {
    
$this->load->library('session');
    
$this->load->helper('url');
    
$this->load->library('upload');
    
$this->load->library('image_lib');
    
$this->load->library('form_validation');

        
$config = array(
        array(
'field' => 'dri''label' => 'Drink''rules' => 'required''errors' => array( 'required' => 'Provide%s')), //This works
        
array('field' => 'drink''label' => 'Photo''rules' => 'callback_upload_drink')); //This works

        
$this->form_validation->set_rules($config);

        if(
$this->form_validation->run() == FALSE// Every box is complete

        
{
        
$this->load->view('affairs/drinkadvert');
        }
        else
        {

        
$lcuser $this->session->userdata('user_name');
        
$ucuser ucfirst("$lcuser");

        
$drink $this->input->post('dri');

        if(!
is_dir("C:xampp/htdocs/application/controllers/Adverts/$ucuser/"))

            
mkdir("C:xampp/htdocs/application/controllers/Adverts/$ucuser/",0777,true); //This does not create

        
if(!is_dir("C:xampp/htdocs/application/controllers/Adverts/$ucuser/$drink"))

            
mkdir("C:xampp/htdocs/application/controllers/Adverts/$ucuser/$drink",0777,true); //This does not create

        //Upload Photos

            
$config1['upload_path'] = 'members/'.$lcuser.'/advertphotos/'.$drink;
            
$config1['allowed_types'] = 'png|jpg|jpeg';

            
$this->upload->initialize($config1);

            if(
$this->upload->do_upload("$drink"))

            {
            
$drink $this->upload->data();
            
$drink 'members/'.$lcuser.'/advertphotos/'.$drink['file_name']; //This does not upload
            
}
        }
    }

public function 
upload_drink($str)
    {
    
$allowed_mime_type_arr = array('image/png','image/jpg','image/jpeg');

    if(isset(
$_FILES['drink']['name']) && $_FILES['drink']['name']!="")
        {
            
$mime get_mime_by_extension($_FILES['drink']['name']);

        if(
in_array($mime$allowed_mime_type_arr))
            {
            return 
TRUE;
            }
            else
            {
            
$this->form_validation->set_message('upload_drink''Upload in png/jpg/jpeg format');
            return 
FALSE;
            }
        }
        else
        {
        
$this->form_validation->set_message('upload_drink''ProvideAtLeastOnePhoto');
        return 
FALSE;
        }
    }

public function 
create_advert()
    {

$create fopen("C:xampp/htdocs/application/controllers/Adverts/$ucuser/$drink.php""w"); //This does not create
$cr "<?php .................

$create = fopen("C:xampp/htdocs/application/views/adverts/$lcuser/$drink.php", "w"); //This does not create
$cr = "<?php .................

        
redirect('adverts/.$ucuser.$drink');
    } 

Ive used all the functions on other pages which work OK, and Ive checked the coding that works against the coding above but cant find anything wrong.

Can anybody tell me what is wrong.


RE: mkdir and fopen not creating files - InsiteFX - 09-16-2020

Maybe add the forward / C:/


RE: mkdir and fopen not creating files - christaliise - 09-17-2020

(09-16-2020, 01:17 PM)InsiteFX Wrote: Maybe add the forward / C:/

Nope, that made no difference.


RE: mkdir and fopen not creating files - InsiteFX - 09-17-2020

For one take off the ending slash it's not needed.


RE: mkdir and fopen not creating files - christaliise - 09-20-2020

(09-17-2020, 04:30 AM)InsiteFX Wrote: For one take off the ending slash it's not needed.

Ive deleted the ending slash.

Ive solved some of my problems, but not all.

If I comment out the form_validation & shift loadview below the mkdir I can get the directories to create the way I want.

That tells me that there is nothing wrong with the user variables, and either the "form_validation" or the "else" is at fault but I havent yet found which one because the photos do not upload nor does the create_advert function work.

Ive tried inserting into various places
PHP Code:
if(isset($_POST['submit'])) 
but nothing.

Ive tried encasing the form_validation with curly brackets {....} but that doesnt help.

If I comment out the photos upload and create_advert and have form_validation with mkdir only, the directories still dont create, which tells me the problem is not associated with the photos upload or the create_advert.

Ive tried commenting out the upload of photos to see if the create_advert function works but it doesnt, in fact that process distorts the textareas but altering the view page may fix that.


RE: mkdir and fopen not creating files - christaliise - 10-02-2020

Ive made many changes and got everything to work except the uploading of photos. I'll post a new topic regarding photos wont upload.