У меня есть сайт, вы можете либо загрузить или загрузить текст. Вы не можете обойти оба. Затем я передам, какой из них был загружен в php-файл. Какой лучший, самый эффективный способ проверить, какой из них был принят?
Первое, что пришло в голову, заключалось в том, чтобы создать обе переменные, $_FILES
и $_POST
, а затем проверить, пуст ли он. Если $_FILES
пуст, значит это означает, что текст передан на php.
Это не сработает, потому что, если пользователь действительно загрузил изображение, но по какой-то причине он не прошел. Затем php подумает, что текст передан, и это не сработает.
Как я могу проверить php, который был передан, $_POST
или $_FILES
?
Вы не можете «создать» их, они установлены или нет. 'if (! empty ($ _ POST [" someindex "]))' будет делать. – Jan
Нет. Это неправильное предположение. Если '$ _FILES' пуст, пользователь не пытается загрузить какой-либо файл, так как браузер не прошел его. Если вам нужно сообщить пользователю, какие файлы являются приемлемыми и т. Д., Вам необходимо использовать некоторый javascript для проверки связи типа файла перед загрузкой. Тогда вы всегда можете безопасно проверить 'if (empty ($ _ FILES))' безопасно. – Ohgodwhy
Вы можете начать с использования 'if (! Empty ($ _ POST ['var']) &&! Empty ($ _ FILES ['file'])) {echo" Вы не можете обойти оба "; } ' –