首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >php将csv文件上载到mysql表中

php将csv文件上载到mysql表中
EN

Stack Overflow用户
提问于 2011-12-08 10:17:28
回答 2查看 235关注 0票数 0

我正在创建一个脚本,用户可以将csv文件上传到表中。我从shotdev.com获得了教程,我得到了以下错误,我做错了什么?

**不允许使用以下命令:复制

不允许使用以下命令: fopen**

Page1.php

代码语言:javascript
运行
复制
<form action="page2.php" method="post" enctype="multipart/form-data" name="form1">
      <input name="fileCSV" type="file" id="fileCSV">
      <input name="btnSubmit" type="submit" id="btnSubmit" value="Submit">
    </form>

Page2.php

代码语言:javascript
运行
复制
<?
    copy($_FILES["fileCSV"]["tmp_name"],"shotdev/".$_FILES["fileCSV"]["name"]); // Copy/Upload CSV

include 'datalogin.php';

    $objCSV = fopen("shotdev/".$_FILES["fileCSV"]["name"], "r");
    while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
        $strSQL = "INSERT INTO customer ";
        $strSQL .="(CustomerID,Name,Email,CountryCode,Budget,Used) ";
        $strSQL .="VALUES ";
        $strSQL .="('".$objArr[0]."','".$objArr[1]."','".$objArr[2]."' ";
        $strSQL .=",'".$objArr[3]."','".$objArr[4]."','".$objArr[5]."') ";
        $objQuery = mysql_query($strSQL);
    }
    fclose($objCSV);

    echo "Import completed.";
?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-08 10:20:21

这似乎是托管提供商施加的限制(他们似乎将fopen()copy()放在了禁用函数的列表中,这是相当愚蠢的),在这种情况下,除了要求提供者放宽限制之外,您可能什么也做不了。

但是,通常情况下,您没有使用move_uploaded_file()正确地处理上传的文件。如手册链接中的示例所示,使用它。

票数 0
EN

Stack Overflow用户

发布于 2011-12-08 10:19:34

看起来您正在以安全模式运行PHP,或者禁用某些函数。出于安全原因,web主机经常禁用文件命令。

你可以和你的网络主机讨论你的需求--如果你问得好的话,有些可以灵活地为你启用这些功能。

否则,您必须在不使用禁用的文件命令的情况下实现它。一种方法是在textarea表单中创建一个粘贴CSV的HTML。将其SUbmit到您的MySQL脚本,然后运行MySQL导入。

希望这有帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8429360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档