我正在使用以下格式将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();
问题在于php服务器的“ tmp”文件夹中没有显示csv文件,但是在这一行$url=$_FILES['file']['tmp_name']
$ url中有一个带有tmp_name的真实URL。我不明白那里发生了什么:我有带有文件tmp_name的url,但是它实际上不存在?
我已经检查了php.ini文件,这是文件上传的值:
file_uploads=On
upload_tmp_dir="C:\xampp\tmp"
upload_max_filesize=2M
max_file_uploads=20
我不担心“ upload_max_filesize”,我尝试上传的文件只有56个字节。
请问有什么想法吗?
答案 0 :(得分:0)
我真不敢相信...
看来mysql服务器无法理解此字符\
。这只是操作系统之间的兼容性问题。
解决方案只是替换字符:$url= str_replace("\\", "/", $url)
。