来自另一位开发人员的消息(可能是愚蠢的)

时间:2012-10-25 23:36:30

标签: php command-line

以下是我与其他开发人员合作过的一小段内容,我在PHP中非常基础,需要将一些代码移到我的网站中。

这是他发送的信息的一部分:

  

接下来,请编辑config.php。你需要提供和执行   来自命令行的loadercsv.php如下:

    $ php loadercsv.php
     

这将从zip文件中提取数据并填充数据库   已经存在了。

这究竟意味着什么?我确实理解这是一个相当猜谜的游戏但很想知道其他人是否可以解释他在说什么?

另外,下面是config.php文件中的代码,只是需要它:

<?php

// Temporary directory where data will be extracted. Must be directory, absolute path, writable.
define('DATA_DIR', '/CourseFinder/tmp');
// Location of zip file, must be readable and absoluate path.
define('ZIP_FILE', '/CourseFinder/assets/zip/ziplocation.zip');

define('DB_HOST', 'localhost');
define('DB_USER', 'removedforreasons');
define('DB_PASSWORD', 'removedforreasons');
define('DB_NAME', 'removedforreasons');    

define('MAX_LINE_WIDTH', 2048);
define('CSV_SEP', ',');
define('RESULTS_PER_PAGE', 10);

/*
 * List of CSV files to be loaded. These files are processed in order listed here.
 * In case some file does not exists, process will break.
 *
 */ 

/* Try to connect */
$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

/* If cannot connect, simply exit. */
if (mysqli_connect_errno($connection)) {
    $msg = sprintf("Cannot connect to MySQL: %s", mysqli_connect_errno($connection));
    printf("ERROR: config.php - %s\n", $msg);
    exit();
}

/* Function to close the connection */
function close_connection($connection_to_close)
{

    mysqli_close($connection_to_close);
}

/* Register the function at shutdown. */
register_shutdown_function('close_connection', $connection);

?>

2 个答案:

答案 0 :(得分:2)

这似乎非常简单:

编写程序loadercsv.php以打开硬编码的zip文件,处理其内容,并将数据插入数据库。假设数据库本身已设置并运行。

zip文件的名称和数据库访问的凭据存储在单独的文件config.php中,该文件可能包含在第一个文件中。也就是说,您只需编辑 config.php文件以包含所需数据,而不是在命令行或以任何其他方式提供配置选项。

最后,程序只需从命令行运行,命令为php loadercsv.php

答案 1 :(得分:0)

您的PHP应用程序需要一个已经填充的数据库才能运行。 zip文件包含csv格式的初始数据,应该用于填充数据库。页面loadercsv.php读取zip文件,解压缩并填充数据库。在那之后,它可能会被丢弃,你可以做更多有意义的事情。