Jump to content

Recommended Posts

Hi Guys,

 

I got this method to upload an image once, now nothing is uploading at all and I cant seem to figure out why. I set permissions of both the script and image upload directory to www:/data and 777, but its still not working. When I print the return from basename, it show's 0, which means the file is uploaded.. But it not:(

 

Here is my method.

 

 

function add_product()
{
	if($_SERVER['REQUEST_METHOD'] == "POST")
	{	
		//get the form data
		$data['product'] = array(
			"name" => $this->input->post('name'),
			"title" => $this->input->post('title'),
			"description" => $this->input->post('description'),
			"status" => $this->input->post('live'),
			"url" => str_replace(" ", '-',$this->input->post('name')),
			"preview_image" => $this->input->post('preview_image'),
			"body_image" => $this->input->post('body_image')
		);

		//add the record the the DB
		$this->load->model('products_model');
		$return = $this->products_model->add_product($data);

		//upload the images
		$name = $_FILES['preview_image']['name'];		
		$target = '/var/www/www.example.com/content/product_img/';
		$upload = $target.basename($name);

		switch ($_FILES['preview_image']['error'])
		{  
		case 1:
		       print '<p> The file is bigger than this PHP installation allows</p>';
		       break;
		case 2:
		       print '<p> The file is bigger than this form allows</p>';
		       break;
		case 3:
		       print '<p> Only part of the file was uploaded</p>';
		       break;
		case 4:
		       print '<p> No file was uploaded</p>';
		       break;
		}			

		echo img('content/product_image/'.$name);

		//upload the images
		$name2 = $_FILES['body_image']['name'];		
		$target2 = '/var/www/www.example.com/content/product_img/';

		$upload2 = $target2.basename($name2);
		switch ($_FILES['preview_image']['error'])
		{  
		case 1:
		       print '<p> The file is bigger than this PHP installation allows</p>';
		       break;
		case 2:
		       print '<p> The file is bigger than this form allows</p>';
		       break;
		case 3:
		       print '<p> Only part of the file was uploaded</p>';
		       break;
		case 4:
		       print '<p> No file was uploaded</p>';
		       break;
		}								

		echo img('content/product_image/'.$name);

		//redirect to edit view
		//redirect('admin/edit_product/'.$return);

		//testing
		//print_r($data);

	}
	else
	{
		$data['title'] = 'Add Product :: FSG';
		$data['main_content'] = 'admin/add_product';
		$data['user'] = $this->facebook_connect->user;
		$data['user_id'] = $this->facebook_connect->user_id;	
		$this->load->view('includes/template', $data);					
	}
}

 

Here is the html for the form.

<form action="<?php echo site_url();?>admin/add_product" method="post" enctype="multipart/form-data">
                                            <div class="fieldset">
                                                <h2 class="legend">
                                                    Product Information
                                                </h2>
                                                <ul class="form-list">
                                                    <li class="fields">
                                                        <div class="name">
                                                            <div class="field">
                                                                <label for="name" class="required"><em>*</em>Product Name</label>
                                                                <div class="input-box">
                                                                    <input type="text" id="name" name="name" value="New Product" title="Product Name" class="input-text required-entry" />
                                                                </div>
                                                            </div>
                                                            <div class="field title">
                                                                <label for="title" class="required"><em>*</em>Product Title</label>
                                                                <div class="input-box">
                                                                    <input type="text" id="title" name="title" value="Title Used On Heading" title="Product Title" class="input-text required-entry" />
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </li>
                                                    <li>
                                                        <label for="email" class="required"><em>*</em>Product Description</label>
                                                        <div class="input-box">
                                                        	<textarea id="description" name="description">Write a 3 to 5 Paragraph summary of product</textarea>   
                                                        </div>
                                                    </li>
                                                    <li class="control">
                                                        <input type="checkbox" name="live" id="live" value="1" title="Live Product" class="checkbox" /><label for="live_product">Publish Product</label>
                                                    </li>
                                                </ul>
                                            </div>
                                            <div class="fieldset">
                                                <h2 class="legend">
                                                    Product Images
                                                </h2>
                                                <ul class="form-list">
                                                    <li>
                                                        <label for="preview_image" class="required"><em>*</em>Preview Image :: 240 X 166 Pixels</label>
                                                        <div class="input-box">
                                                            <input type="file" name="preview_image"> 
                                                        </div>
                                                    </li>
                                                    <li class="fields">
                                                        <div class="field">
                                                            <label for="body_image" class="required"><em>*</em>Description Image :: 320 X 320 Pixels</label>
                                                            <div class="input-box">
                                                                <input type="file" name="body_image">
                                                            </div>
                                                        </div>
                                                  </li>
                                                </ul>
                                            </div>
                                            <div class="buttons-set">
                                                <p class="required">
                                                    * Required Fields
                                                </p>
                                                </p><button type="submit" title="Submit" class="button"><span><span>Submit</span></span></button>
                                            </div>
                                        </form>

 

Link to comment
https://forums.phpfreaks.com/topic/225002-image-upload-not-working/
Share on other sites

I don't see where you're saving the uploaded file, it looks like you're just checking to make sure it was uploaded?  PHP puts the uploaded file in the temp directory, and deletes it when the script is done running.  If you want to keep it you need to save it somewhere using move_uploaded_file()

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.