AFAIK, there's nothing in the posted code that changed with php7. Where sort of error or symptom are you getting that leads you to believe that the code doesn't work? Do you have php's error_reporting set to E_ALL and display_errors set to ON so that php would help by reporting and displaying all the errors it detects?
Also, what part of the code is working? Is the code running at all, so that you are getting some output from it? Is the file upload moving the file to the ../files/ folder?
Lastly, the code wasn't the best, before the php version upgrade, in terms of detecting and reporting problems, so it may not be helping you to find where in it the problem is occurring it. Some of the issues -
1) It's not detecting if a form was submitted at all, before trying to reference any of the form data.
2) It's not detecting if the upload worked before trying to use the uploaded file information. There's a condition that commonly occurs with uploaded files where both the $POST and $FILES arrays are empty. Your code must detect and handle this.
3) The code is testing if the ['tmp_name'] is empty, but it's not reporting any error if it is. After testing for items #1 and #2 in this list, the code should test the uploaded ['error'] element to find if the file was uploaded or not and for some of the possible errors, such as the size or not selecting a file at all, the code should set up a user error message telling why the upload didn't work.
4) copy(), because it doesn't test if the file being operated on was actually the result of a file upload, shouldn't be used. Use move_uploaded_file() instead. The code should also test and report an error (log the actual php error and set up a generic failure message for the visitor) if the file cannot be moved.
5) The ['type'] element from the uploaded file information can be set to anything and shouldn't be relied on. Also, different browsers (and probably different versions of the same browser) will give different values for the same file. The current best advice is to use the php function mime_content_type() to find the mime type from the file itself. You should also move the uploaded files into a folder that doesn't have direct http access so that someone cannot upload a .php script (which can be made to appear as though it has one of the expected/safe mime types) and be able to browse to it.
6) And this is probably the most important point for the current problem, the value returned by the mail() function is not being tested. The code should test the value from the mail() function, capture and log the last php error if the mail() call failed, and output a generic failure message to the visitor. The code should only output the 'success' thankyou content if the mail() call returned a true value (this doesn't guarantee that the email will be sent and received, just that php was able to give the email to the sending mail server.)