Все действует, пока вы не сделаете его недействительным, когда дело доходит до загрузки файлов. Поиграйте с этим кодом, и вы увидите, какие свойства делают PHP в обработке файлов:
upload.html
<html>
<head>
<title>Upload a File</title>
</head>
<body>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
upload_file.php
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
} else {
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?>
Я не совсем уверен, о чем вы спрашиваете, поэтому немного пояснений было бы неплохо.
Я не работаю с PHP (Python FTW), но если вы хотите, чтобы проходили только текстовые файлы, отфильтруйте их:
if ($_FILE['file']['type'] == 'text/plain' && strrpos($_FILE['file']['name'], '.txt') === strlen($_FILE['file']['name']) - strlen('.txt'))
{
echo 'Your file is legit. Continue...'
} else {
echo 'You can\'t upload that!'
}
Я не уверен, что text/plain
вызовет ложные негативы, поэтому, если это так, просто удалите его.