Temp file does not appear in xampp/tmp

I'm uploading a csv file to my php server with this form:

<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>

And what I want to do with that file is to add its content to a table in my mysql server.

$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();

The problem is that in the "tmp" folder of the php server doesn't appear the csv file, but in this line $url=$_FILES['file']['tmp_name'] $url has a real url with a tmp_name. I don't understand what's happening there: I have the url with the tmp_name of the file but it actually doesn't exists?

I have checked the php.ini file and this are the values for the file uploads:

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

I'm not worried about the "upload_max_filesize", the file I'm trying to upload has a size of only 56 bytes.

Please, any ideas?

Upvotes: 1

Views: 2741

Answers (1)

I can't believe this... It seems that the mysql server doesn't understand this character \. It's only a problem of compatibility between operative systems.

The solution is only to replace the character: $url= str_replace("\\", "/", $url).

Upvotes: 0

Related Questions