2

I'm currently working on a PHP-based fileupload to an AWS EC2 instance. Basically I just want to upload zip-files to a subdirectory called /uploads/. Let me show you my code so far:

<form enctype="multipart/form-data" action="index.php" method="POST"> <input id="file-0a" class="file" name="zipfile" type="file" data-show-preview="false"> </form> 

So any uploaded file should be in $_FILES['zipfile']

When it comes to PHP, my code looks as followed:

<?php if(isset($_FILES[zipfile])){ error_reporting(E_ALL); $uploaddir = '/uploads/'; $uploadfile = $uploaddir . basename($_FILES['zipfile']['name']); echo '<pre>'; if (move_uploaded_file($_FILES['zipfile']['tmp_name'], $uploadfile)) { echo "Success\n"; } else { echo "Error!\n"; } echo 'Debugging:'; print_r($_FILES); print "</pre>"; } ?> 

Print_r shows all necessary information, error-level is 0 and I get a tmp_name like /tmp/phpy3lQBV. But I still get the error from the else part. So I assume move_uploaded_files is returning false.

When it comes to run the script locally on XAMPP, everything works properly. I have set the chmod to 777 on the EC2 instance. The EC2 instance is running Apache 2.4.7 and PHP 5.5.9

I hope someone can help me with that.

Cheers, Hendrik

1 Answer 1

2

I solved the problem by assigning www-data as the user for /var/www/html directory. Before it was set to 'ubuntu', which is default assigned by AWS.

Basically sudo chown -R www-data var/www/html worked for me.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.