在循环

时间:2016-02-28 18:09:50

标签: php upload execute

我有一个包含if语句的php代码(导出为pdf,导出为ex​​cel,最后一个导出excel)。

如果上传pdf和excel的前两个工作正常,当我点击按钮运行第三个if语句时,它会显示空白页面,即使我单独运行它的代码工作正常

我的PHP代码如下:

<?php
define('FPDF_FONTPATH','/Applications/XAMPP/xamppfiles/lib/php'); 
if (isset($_POST['pdf'])) {
     //code//
}
}
if (isset($_POST['excel'])) {
    //code//

}

if (isset($_POST['upload'])) {

exec( 'imp.php');

}
?>

我尝试运行的imp.php文件是:

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$db_host = 'localhost';
$db_user = 'root';
$db_pwd = '';

$database = 'mydatabase';
$table = 'demo';

if (!@mysql_connect($db_host, $db_user, $db_pwd))
    die("Can't connect to database");

if (!mysql_select_db($database))
    die("Can't select database");


    if(isset($_POST['submit']))
    {
         $fname = $_FILES['sel_file']['name'];
         echo 'upload file name: '.$fname.' ';
         $chk_ext = explode(".",$fname);

         if(strtolower(end($chk_ext)) == "csv")
         {

             $filename = $_FILES['sel_file']['tmp_name'];
             $handle = fopen($filename, "r");

             while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
             {
                $sql = "INSERT into demo(orders,quantity,country,dates,comment) values('$data[0]','$data[1]','$data[2]', '$data[3]','$data[4]')";
                mysql_query($sql) or die(mysql_error());
             }

             fclose($handle);
             echo "Successfully Imported";

         }
         else
         {
             echo "Invalid File";
         }   
    }

    ?>
    <h1>Import CSV file</h1>
    <form action='<?php echo $_SERVER["PHP_SELF"];?>' method='post' enctype="multipart/form-data">
        Import File : <input type='file' name='sel_file' size='20'>
        <input type='submit' name='submit' value='submit'>
    </form

1 个答案:

答案 0 :(得分:1)

exec函数在服务器上执行文件。除非您明确地将exec的结果输出到变量并输出它,否则您将看不到任何内容。

但是正如我所看到的 - 你只想将一些php文件包含在另一个中 - 因为includerequire是假设的:

include '/path/to/file.php';

这就足够了。