OK, i have some kind of strange problem with my code. I'm trying to make uploading form with text along photos. Now, I need to check if the photo is uploaded or the text is inserted only.
The simplified code looks like this:
if (isset ($_FILES['image'])){
echo 'yes';
} else {
echo 'no';
}
the form looks like:
<form action="" method="post" enctype="multipart/form-data" class="contact-form">
<form action="" method="post" enctype="multipart/form-data" class="contact-form">
<label for="title"><strong>Title</strong> (required)</label>
<input type="text" name="title" value="" required>
<label><span class="small"><strong>Add a photo</strong></span></label>
<input type="file" name="image"/>
<input type="submit" name"submit" value="Submit">
</form>
Now, basically, what I'm trying to make is a check if file is attached or not, because I need an alternate option for posting posts without photos, in the same form; but, the problem is that no mather if it is attached or not it always says YES.
Help, anyone.
To check if the file has been uploaded, how about:
if (!file_exists($_FILES['image']['tmp_name']) || !is_uploaded_file($_FILES['image']['tmp_name']))
{
echo 'No upload';
}
else
{
// Your file has been uploaded
}
is_uploaded_file()
is the choice here, check the docs out for it.
$_FILES
is an array of files, and each file in the first dimension of the array is automatically given a ['tmp_name']
key in the second dimension, with the value being it's temporary location.
Obviously you then need to use move_uploaded_file()
on the temporary file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With