user993177
user993177

Reputation: 188

copy php no error

I have a form with the possibility to upload an image from the computer to a server, but it won't work. I don't get any error message, so that's quite annoying. (First I got permission denied, but that was solved by changing the rights), but now when I submit the form, everything goes normally, but the file isn't copied to the destination folder. (The folder exists: I tried it with file_exist()...)

Here's part of the code:

<form action='/changingfruit/index.php?item=bad' name='form' method='post' enctype='multipart/form-data'>
    <tr>
        <td><input type='text' name='titel_nl' value="titel nl" /><br/><input type='text' name='titel_fr' value="titel fr"/></td>
        <td><input type='file' name='text_nl' id='text_nl' accept="image/*"/><br/><input type='file' name='text_fr' id="test_fr" accept="image/*"/></td>        
        <td class="vTop"><input type="submit" value="Bewaar"/></td>
    </tr>
    </form>

Part where the values are being send to the db:

 $str_titel_nl = $_POST["titel_nl"]; 
  $str_titel_fr = $_POST["titel_fr"]; 
  $str_text_nl = $_FILES["text_nl"]["name"]; 
  $str_text_fr = $_FILES["text_fr"]["name"];  
       if(!empty($_FILES["text_nl"]["name"])){ 
       $tmp = $_FILES['text_nl']['tmp_name'] ;
        $foto = $_FILES['text_nl']['name'] ;
         $copied = copy($tmp, $images_nl.$foto); 
    unlink($tmp);  
       }

(of course the above is just a part of the code: but it's this part that wont work:

       if(!empty($_FILES["text_nl"]["name"])){ 
       $tmp = $_FILES['text_nl']['tmp_name'] ;
        $foto = $_FILES['text_nl']['name'] ;
         $copied = copy($tmp, $images_nl.$foto); 
    unlink($tmp);  
       }

The code below this part also works fine, so no error, but also no image. Does someone knows where the problem could be?

Thanks so much in advance!

FOUND THE ANSWER So it was indeed a permission problem. Everything was 777, but the last folder where the image was put had 755. (/fruits/img/2012/thumb/) the thumb was 755.I just overlooked it. Thanks everyone for the help!

Upvotes: 0

Views: 2372

Answers (4)

Kiran
Kiran

Reputation: 921

I have posted a simple solution for file uploading without worrying about the implementation .

Click to see the thread

image uploading issue in codeigniter 2.1.0

Please read this section

in that $uploader->getMessage(); will return error string related to the upload failure . So you can understand why the uploading failed .

Thanks

Upvotes: 0

PHP Connect
PHP Connect

Reputation: 549

you can try this

$flag = @copy($temp, $move);
if ( $flag === true )
{
   print "Uploaded";
}

Upvotes: 0

Shai Mishali
Shai Mishali

Reputation: 9382

Your upload code is very messy. Instead of using copy you should be using move_uploaded_file, and also validate that it actually worked and then perform whatever actions needed.

I'm also not sure why each of your line is starts with <?php and ends with ?> ? You can write it all as one block instead, and i think it would also make more sense and would make your code cleaner for sure.

Last thing i would recommend is reading "Handling File Uploads" from the PHP Manual. It might shed some light on the problems you're having.

P.S. Try adding on top ini_set("display_errors","On"); error_reporting(E_ALL); and see if you're getting any error messages.

Upvotes: 3

Related Questions