Попросите пользователя проверить файл перед сохранением на сервере

Мой скрипт загружает файл в формате pdf. Я нашел анализатор PDF, который затем отображает первую часть обычного текста. Затем пользователь проверяет правильность данных. Если это так, пользователь отправляет данные и сохраняет их в файл. Для данных, которые не являются файлами, я всегда передавал информацию, используя невидимые поля формы, на страницу выполнения. Однако с файлом я не уверен, что это лучший способ сделать это.

if ($_FILES["file"]["error"] > 0){ echo "Error: " . $_FILES["file"]["error"] . "<br>"; } else{ $uploadedFile = $_FILES["file"]["tmp_name"]; $result = pdf2text($uploadedFile); echo substr($result, 0, 200); echo "<BR>"; } 

На основе метода POST загружает руководство

Файл будет удален из временного каталога в конце запроса, если он не был удален или переименован.

Вам нужно будет переместить ваш tmp_file в каталог кэша внутри вашего приложения, а затем на основании вашей проверки, являющейся истинным или ложным, удалите его или переместите в постоянный каталог.

 if ($_FILES["file"]["error"] > 0){ echo "Error: " . $_FILES["file"]["error"] . "<br>"; } else{ $uploadedFile = $_FILES["file"]["tmp_name"]; $tmp_file = PATH_TO_CACHE_FOLDER . time(). $_FILES["file"]["name"] if (move_uploaded_file($_FILES['userfile']['tmp_name'], $tmp_file)) { $result = pdf2text($uploadedFile); echo substr($result, 0, 200); echo "<BR>"; } } 

и в следующем сценарии

 if(isValid() === true) { $tmp_file = $_POST['tmp_file_name']; $file_name = $_POST['file_name']; move_uploaded_file($tmp_file, PERMANENT_PATH . $file_name); } 

это всего лишь макет кода, но должен дать вам лучшую идею.

Переместите загруженный файл с помощью:

move_uploaded_file ($ uploadedFile, "some / where / temp.pdf");

… и создать поле скрытой формы, содержащее новое имя файла (некоторые / где …).