Временный файл не отображается в xampp / tmp

Я загружаю CSV-файл на свой php-сервер с помощью этой формы:

<form action = "importCSV.php" method = "post" enctype = "multipart/form-data">
            <br>Select file: <input type = "file" name = "file">
            <br><input type = "submit" name = "import" value = "Import file">
</form>

И что я хочу сделать с этим файлом, так это добавить его содержимое в таблицу на моем сервере mysql.

$url=$_FILES['file']['tmp_name'];
$con = new mysqli(HOST, US, PW, BBDD);
$sql = "load data local infile '" . $url. " into table users fields terminated by ':'";
$con->query($sql);
$con->close();

Проблема в том, что в папке «tmp» на php-сервере нет файла csv, но в этой строке $url=$_FILES['file']['tmp_name'] $ url имеет реальный URL-адрес с tmp_name. Я не понимаю, что там происходит: у меня есть URL-адрес с tmp_name файла, но его на самом деле не существует?

Я проверил файл php.ini, и это значения для загрузки файлов:

file_uploads=On
upload_tmp_dir = "C:\xampp\tmp"
upload_max_filesize=2M
max_file_uploads=20

Меня не беспокоит "upload_max_filesize", файл, который я пытаюсь загрузить, имеет размер всего 56 байт.

Пожалуйста, какие-нибудь идеи?

Загруженный файл существует в папке tmp ТОЛЬКО до тех пор, пока вы его не переместите или скрипт не завершится. Когда скрипт завершает работу, PHP автоматически удаляет файл из папки tmp.

RiggsFolly 08.11.2018 14:04

Так что мне нужно переместить его, добавить в таблицу, а затем удалить?

Ventura De Lucas Sánchez 08.11.2018 14:07

Вы ищете файл после завершения сценария? Или вы говорите, что запрос load data... не удался?

RiggsFolly 08.11.2018 14:09
Проверка ошибок, но если вас это не беспокоит, добавьте ini_set('display_errors', 1); ini_set('log_errors',1); error_reporting(E_ALL); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); в начало вашего скрипта. Это заставит любые ошибки mysqli_ генерировать исключение, которое вы можете видеть в браузере, а также обычные ошибки PHP.
RiggsFolly 08.11.2018 14:09

Запрос load data не выполняется, потому что файл не найден.

Ventura De Lucas Sánchez 08.11.2018 14:11
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
5
1 386
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не могу в это поверить ... Похоже, что сервер mysql не понимает этот символ \. Это всего лишь проблема совместимости операционных систем.

Решение - только заменить символ: $url= str_replace("\\", "/", $url).

Другие вопросы по теме