So basically, I am simply just trying to check for the correct file extension on a file that is being uploaded.
I know, this question has been answered on here a few times before, although I keep getting the same error and there is no solution or suggestions out there to why this is happening.
Here is my code:
$file = fopen($_FILES['upload_csv']['tmp_name'], 'r');
$ext = pathinfo($file, PATHINFO_EXTENSION);
if($ext != "csv")
{
$errors[] = "Sorry, but only CSV files are supported";
}
Here is my error:
Warning: pathinfo() expects parameter 1 to be string
I have tried around 3 other alternatives now, all using pathinfo()
. Although, the exact same error is still shown.
Does anyone have any suggestions to why this is happening?
Your problem is here:
fopen
returns a file handle for use reading and writing a file, butpathinfo
is expecting a string containing a filename (optionally, with a path), but you're giving it a file handle.You should, in any case, be looking at
$_FILES['upload_csv']['name']
, which is the original name of the file, and extracting the file extension from that.