上传CSV或XML以进行编辑并返回

时间:2016-06-10 09:55:23

标签: php mysql xml csv

我之前没有对HTML5和PHP进行太多编码,因为我总是使用Python,而只是在系统应用程序而不是基于Web的应用程序中创建。

我试图找到但不能找到任何可能帮助我完成最新任务的信息。

我希望用户能够上传一个CSV或XML文件(尚未确定格式),其中包含一个字段中的SKU和另一个字段中的价格(列)。

然后,我希望用户能够指定一组变量并对文档进行编辑。

我不确定我是否必须使用MySQL来实现这一目标,而且我没有使用它的经验,所以如果我可以完全避免它,那么这将是更好的。

关于这样做的材料的任何建议/建议,甚至是如何实现这一目标的实际例子,将大大增加我对如何处理这项任务的理解。

亲切的问候。 路易斯

1 个答案:

答案 0 :(得分:0)

您可以使用fgetcsv方法和fputcsv方法在php中操作csv文件。 对于xml文件,您可以使用simpleXML parser

我将举例说明php中的CSV文件。

阅读CSV文件

<system.webServer>
      <caching> 
<profiles>

          <add extension=".gif" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:20:00" location="Client" />

          <add extension=".jpg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:20:00" location="Client" />

          <add extension=".png" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:20:00" location="Client" />

          <add extension=".css" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:20:00" location="Client" />

          <add extension=".js" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:02:00" location="Client" />

        </profiles>

      </caching>
      <staticContent>
        <clientCache cacheControlMode="UseExpires" cacheControlMaxAge="1.00:00:00" httpExpires="Sat, 11 June 2016 00:00:00 GMT" cacheControlCustom="public" />
        <remove fileExtension=".js" />
        <mimeMap fileExtension=".js" mimeType="text/javascript" />

      </staticContent>

      <urlCompression doDynamicCompression="true" doStaticCompression="true" />

      <httpCompression dynamicCompressionEnableCpuUsage="80" />
      <httpProtocol allowKeepAlive="true">
            <customHeaders>
                <add name="ETag" value="0" />
            </customHeaders>

        </httpProtocol>

    </system.webServer>

写入CSV文件

if(file_exists("/tmp/my_file.csv")){
    $filex = fopen("/tmp/my_file.csv","r");
}
else{
    echo "file not found";
}
$data = array();
while(!feof($file))
{
  $data[] = fgetcsv($file);
}
fclose($filex);
//now you can manipulate $data as you wish