本文整理汇总了PHP中ocierror函数的典型用法代码示例。如果您正苦于以下问题:PHP ocierror函数的具体用法?PHP ocierror怎么用?PHP ocierror使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ocierror函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: getErrorCode
function getErrorCode()
{
if ($err = ocierror($this->_connection)) {
return $err['code'];
} else {
return false;
}
}
开发者ID:BackupTheBerlios,项目名称:phpaie,代码行数:8,代码来源:CopixDbConnection.oci8.class.php
示例2: lastError
/**
* Get a description of the last error
* @return String
*/
public function lastError()
{
$arr = ocierror();
if (count($arr) > 1) {
return $arr["code"] . " - " . $arr["message"];
}
return "";
}
开发者ID:kcallow,项目名称:MatchMe,代码行数:12,代码来源:OracleConnection.php
示例3: connect
/**
* Connect to MySQL, but not to a database
*
* @param string $dbuser Username
* @param string $dbpassword Password
* @return bool Success
*
*/
public function connect($dbuser = '', $dbpassword = '', $dbname = '')
{
if (!($this->dbh = oci_new_connect($dbuser, $dbpassword, $dbname))) {
$err = ocierror();
$this->register_error($err['message'], $err['code']);
return false;
} else {
$this->clear_errors();
return true;
}
}
开发者ID:jaywilliams,项目名称:ultralite,代码行数:19,代码来源:Oracle.php
示例4: add_image
function add_image($name, $imagetype, $file)
{
if (!is_null($file)) {
if ($file["error"] != 0 || $file["size"] == 0) {
error("Incorrect Image");
} else {
if ($file["size"] < 1024 * 1024) {
global $DB;
$imageid = get_dbid("images", "imageid");
$image = fread(fopen($file["tmp_name"], "r"), filesize($file["tmp_name"]));
if ($DB['TYPE'] == "ORACLE") {
DBstart();
$lobimage = OCINewDescriptor($DB['DB'], OCI_D_LOB);
$stid = OCIParse($DB['DB'], "insert into images (imageid,name,imagetype,image)" . " values ({$imageid}," . zbx_dbstr($name) . "," . $imagetype . ",EMPTY_BLOB())" . " return image into :image");
if (!$stid) {
$e = ocierror($stid);
error("Parse SQL error [" . $e["message"] . "] in [" . $e["sqltext"] . "]");
return false;
}
OCIBindByName($stid, ':image', $lobimage, -1, OCI_B_BLOB);
if (!OCIExecute($stid, OCI_DEFAULT)) {
$e = ocierror($stid);
error("Execute SQL error [" . $e["message"] . "] in [" . $e["sqltext"] . "]");
return false;
}
$result = DBend($lobimage->save($image));
if (!$result) {
error("Couldn't save image!\n");
return false;
}
$lobimage->free();
OCIFreeStatement($stid);
return $stid;
} else {
if ($DB['TYPE'] == "POSTGRESQL") {
$image = pg_escape_bytea($image);
} else {
if ($DB['TYPE'] == "SQLITE3") {
$image = bin2hex($image);
}
}
}
return DBexecute("insert into images (imageid,name,imagetype,image)" . " values ({$imageid}," . zbx_dbstr($name) . "," . $imagetype . "," . zbx_dbstr($image) . ")");
} else {
error("Image size must be less than 1Mb");
}
}
} else {
error("Select image to download");
}
return false;
}
开发者ID:rennhak,项目名称:zabbix,代码行数:52,代码来源:images.inc.php
示例5: query_exec
function query_exec($query)
{
# IMPORT MYSQL PARAMETERS (NOTE: IT WORKS WITH ABSOLUTE PATH ONLY !!)
include '../config/registry_oracle_db.php';
# open connection to db
//putenv("ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0");
$conn = OCILogOn($user_db, $password_db, $db) or die("Could not connect to Oracle database!") or die(ocierror());
# execute the EXEC query
$statement = ociparse($conn, $query);
$risultato = ociexecute($statement);
# close connection
ocilogoff($conn);
$a = 1;
return $a;
}
开发者ID:athoncopy,项目名称:athon,代码行数:15,代码来源:SVUOTA_REGISTRY_DB.php
示例6: ShowBusy
function ShowBusy()
{
global $_SERVER;
$errpage = "";
$err = ocierror();
$host = $_SERVER['HTTP_HOST'];
$page = $_SERVER['DOCUMENT_ROOT'] . "/error/index.php";
$msg = "Server is currently busy. Please retry again in a few seconds." . "<br><a href=http://{$host}>REFRESH</a>\n<br>" . $err['message'] . "</br>";
if (file_exists($page)) {
while (@ob_end_clean()) {
}
header("location: http://{$host}/error/index.php");
} else {
print $msg;
}
}
开发者ID:cbsistem,项目名称:bansos-dev,代码行数:16,代码来源:DB_MYSQL_v006.php
示例7: open
/**
* Open the connection
* @return One_Store_Connection_Oci
*/
public function open()
{
$meta = $this->getMeta();
//die($meta['db']['tns'] );
$link = oci_connect($meta['db']['user'], $meta['db']['password'], $meta['db']['tns']);
//print_r($link);
if (!$link) {
//print_r(ocierror());
throw new One_Exception('Not connected : ' . ocierror());
}
// Set the proper encoding if needed
/*
$encoding = $this->getEncoding();
if(null != $encoding)
{
mysql_query('SET NAMES "'.mysql_real_escape_string('.$encoding.').'"', $link);
}
*/
return $link;
}
开发者ID:pdelbar,项目名称:onethree,代码行数:24,代码来源:oci_tbd.php
示例8: setResult
/**
* Fetches all the rows for a select query. Returns FALSE if query failed and
* DB_OK for all other queries
*
* @deprecated
*
* @param resource $result
* @return array All rows in result set
*/
private function setResult($result)
{
$GLOBALS['log']->info('call to DBManager::setResult() is deprecated');
if (PEAR::isError($result) === true) {
$GLOBALS['log']->error($msg);
$result = FALSE;
} elseif ($result != DB_OK) {
// must be a result
$GLOBALS['log']->fatal("setResult:" . print_r($result, true));
$row = array();
$rows = array();
while (ocifetchinto($result, $row, OCI_ASSOC | OCI_RETURN_NULLS | OCI_RETURN_LOBS)) {
$err = ocierror($result);
if ($err == false) {
$rows[] = $row;
} else {
print_r($err);
}
}
$result = $rows;
}
$GLOBALS['log']->fatal("setResult: returning rows from setResult");
return $result;
}
开发者ID:razorinc,项目名称:sugarcrm-example,代码行数:33,代码来源:DBManager.php
示例9: foreach
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
include './config/connect.php';
$delete_flag = TRUE;
if (!empty($_POST['items_to_delete'])) {
foreach ($_POST['items_to_delete'] as $key) {
$sql_delete = "DELETE FROM REPORT_DATA_DEMAND WHERE ID='" . $key . "'";
echo $sql_delete;
$sql_delete_parse = ociparse($connect, $sql_delete);
$delete_flag = ociexecute($sql_delete_parse);
if (!$delete_flag) {
ocierror($sql_delete_parse);
oci_rollback($connect);
break;
}
}
if ($delete_flag) {
if ($_GET['before_page'] == 'potensi') {
header("Location: delete.sitac.php?witel=" . $_GET['witel'] . "&tipe_site=" . $_GET['tipe_site'] . "&before_page=" . $_GET['before_page'] . "&status_delete=1");
} else {
if ($_GET['before_page'] == 'sitac' || $_GET['before_page'] == 'deployment') {
header("Location: delete.sitac.php?witel=" . $_GET['witel'] . "&tipe_site=" . $_GET['tipe_site'] . "&before_page=" . $_GET['before_page'] . "&jenis=" . $_GET['jenis'] . "&status_delete=1");
}
}
} else {
header("Location: delete.sitac.php?witel=" . $_GET['witel'] . "&tipe_site=" . $_GET['tipe_site'] . "&before_page=" . $_GET['before_page'] . "&status_delete=0");
}
开发者ID:5112100070,项目名称:poi,代码行数:30,代码来源:delete.sitac.process.php
示例10: oci_connect
<?php
//page should check if the object coming is null and redirect to index.php
$connection = oci_connect("ADMINISTRATOR", "ADMINISTRATOR", "(DESCRIPTION =\n\t\t\t\t\t\t\t\t\t\t\t\t\t (ADDRESS_LIST =\n\t\t\t\t\t\t\t\t\t\t\t\t\t (ADDRESS = (PROTOCOL = TCP)(HOST = 172.26.50.20)(PORT = 1521))\n\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t (CONNECT_DATA =\n\t\t\t\t\t\t\t\t\t\t\t\t\t (SID = MATCHDB)\n\t\t\t\t\t\t\t\t\t\t\t\t\t (SERVER = DEDICATED)\n\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t)");
//captures error
if (!$connection) {
echo "Invalid connection " . var_dump(ocierror());
die;
}
//gets values from index.php
$nickname = $_POST["user"];
$pass = $_POST["password"];
$query = 'INSERT INTO USERNAME (usernameID, usernamePassword) ' . 'VALUES (:nickname, :pass)';
$compiled = oci_parse($connection, $query);
oci_bind_by_name($compiled, ':nickname', $nickname);
oci_bind_by_name($compiled, ':pass', $pass);
oci_execute($compiled, OCI_NO_AUTO_COMMIT);
oci_commit($connection);
oci_close($connection);
echo "You have registered succesfully!";
开发者ID:rogerapras,项目名称:MatchMe,代码行数:20,代码来源:register.php
示例11: connectDB
function connectDB()
{
include './config/registry_oracle_db.php';
//putenv("ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0");
# open connection to db
$conn = oci_connect($user_db, $password_db, $db);
if (!$conn) {
$errorcode = array();
$error_message = array();
$errorcode[] = "XDSRegistryError";
$err = ocierror();
$error_message[] = $err['message'];
$database_error_response = makeSoapedFailureResponse($error_message, $errorcode);
writeTimeFile($_SESSION['idfile'] . "--Registry: database_error_response");
$file_input = $_SESSION['idfile'] . "-database_error_response.xml";
writeTmpFiles($database_error_response, $file_input, true);
SendResponseFile($_SESSION['tmp_path'] . $file_input);
//SendResponse($database_error_response);
exit;
}
return $conn;
}
开发者ID:athoncopy,项目名称:athon,代码行数:22,代码来源:functions_oracle.php
示例12: DBexecute
function DBexecute($query, $skip_error_messages = 0)
{
global $DB;
//COpt::savesqlrequest($query);
$result = false;
if (isset($DB['DB']) && !empty($DB['DB'])) {
$DB['EXECUTE_COUNT']++;
// WRONG FOR ORACLE!!
//SDI('SQL Exec: '.$query);
switch ($DB['TYPE']) {
case 'MYSQL':
$result = mysql_query($query, $DB['DB']);
if (!$result) {
error('Error in query [' . $query . '] [' . mysql_error() . ']');
}
break;
case 'POSTGRESQL':
if (!($result = pg_query($DB['DB'], $query))) {
error('Error in query [' . $query . '] [' . pg_last_error() . ']');
}
break;
case 'ORACLE':
$stid = OCIParse($DB['DB'], $query);
if (!$stid) {
$e = @ocierror();
error('SQL error [' . $e['message'] . '] in [' . $e['sqltext'] . ']');
}
$result = @OCIExecute($stid, $DB['TRANSACTIONS'] ? OCI_DEFAULT : OCI_COMMIT_ON_SUCCESS);
if (!$result) {
$e = ocierror($stid);
error('SQL error [' . $e['message'] . '] in [' . $e['sqltext'] . ']');
} else {
$result = $stid;
}
break;
case 'SQLITE3':
if (!$DB['TRANSACTIONS']) {
lock_db_access();
}
$result = sqlite3_exec($DB['DB'], $query);
if (!$result) {
error('Error in query [' . $query . '] [' . sqlite3_error($DB['DB']) . ']');
}
if (!$DB['TRANSACTIONS']) {
unlock_db_access();
}
break;
}
if ($DB['TRANSACTIONS'] && !$result) {
$DB['TRANSACTION_STATE'] &= $result;
// SDI($query);
// SDI($DB['TRANSACTION_STATE']);
}
}
return $result;
}
开发者ID:rennhak,项目名称:zabbix,代码行数:56,代码来源:db.inc.php
示例13: _setError
/**
* Keeps track of the most recent Oracle error
*
*/
function _setError($source = null, $clear = false)
{
if ($source) {
$e = ocierror($source);
} else {
$e = ocierror();
}
$this->_error = $e['message'];
if ($clear) {
$this->_error = null;
}
}
开发者ID:jerzzz777,项目名称:cake-cart,代码行数:16,代码来源:dbo_oracle.php
示例14: ErrorMsg
function ErrorMsg()
{
$e = ocierror();
return is_array($e) ? $e['message'] : '';
}
开发者ID:modulexcite,项目名称:frameworks,代码行数:5,代码来源:dbClass2.php
示例15: ErrorNo
function ErrorNo()
{
if (is_resource($this->_stmt)) {
$arr = @ocierror($this->_stmt);
} else {
$arr = @ocierror($this->_connectionID);
if ($arr === false) {
$arr = @ocierror();
}
if ($arr == false) {
return '';
}
}
return $arr['code'];
}
开发者ID:cbsistem,项目名称:bansos-dev,代码行数:15,代码来源:adodb-oci8.inc.php
示例16: da_sql_error
function da_sql_error($link, $config)
{
return ocierror($link);
}
开发者ID:greendev5,项目名称:freeradius-server-wasel,代码行数:4,代码来源:functions.php
示例17: str_replace
/**
* This function will connect to the database, execute a query and will return the result handle.
*
* @param $sql The SQL statement to execute.
*
* @returns Handle to the result of the query. In case of an error, this function triggers an error.
*
* @internal
*/
function &_connectAndExec($sql)
{
$sql = str_replace(' #_', ' ' . YDConfig::get('YD_DB_TABLEPREFIX', ''), $sql);
$this->_logSql($sql);
$this->connect();
$stmt = OCIParse($this->_conn, $sql);
if (!$stmt) {
$error = ocierror($stmt);
trigger_error($error['message'], YD_ERROR);
}
$result = @OCIExecute($stmt);
if ($result === false && $this->_failOnError === true) {
$error = ocierror($stmt);
if (!empty($error['sqltext'])) {
$error['message'] .= ' (SQL: ' . $error['sqltext'] . ')';
}
trigger_error($error['message'], YD_ERROR);
}
return $stmt;
}
开发者ID:BackupTheBerlios,项目名称:ydframework-svn,代码行数:29,代码来源:YDDatabaseDriver_oracle.php
示例18: otherdb
//.........这里部分代码省略.........
User:<input type="text" name="orauser" value="{$orauser}" style="width:80px">
Pass:<input type="text" name="orapass" value="{$orapass}" style="width:100px">
SID:<input type="text" name="orasid" value="{$orasid}" style="width:50px"><br><br>
<script language="javascript">
function oraFull(i){
\tStr = new Array(8);
Str[0] = "";
\tStr[1] = "select version();";
Str[2] = "show databases;";
Str[3] = "show tables from db_name;";
Str[4] = "show columns from table_name;";
Str[5] = "select user,password from mysql.user;";
\tStr[6] = "select load_file(0xxxxxxxxxxxxxxxxxxxxx);";
\tStr[7] = "select 0xxxxx from mysql.user into outfile 'c:\\\\inetpub\\\\wwwroot\\\\test.php'";
\toraform.orasql.value = Str[i];
\treturn true;
}
</script>
<textarea name="orasql" style="width:600px;height:200px;">{$oraquery}</textarea><br>
<select onchange="return oraFull(options[selectedIndex].value)">
\t<option value="0" selected>command</option>
<option value="1">version</option>
<option value="2">databases</option>
<option value="3">tables</option>
<option value="4">columns</option>
<option value="5">hashes</option>
\t<option value="6">load_file</option>
\t<option value="7">into outfile</option>
</select>
<input type="hidden" name="action" value="myquery">
<input class="bt" type="submit" value="Query"></div></form>
END;
if ($oraaction == 'oraquery') {
$oralink = OCILogon($orauser, $orapass, "(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST={$orahost})(PORT = {$oraport}))(CONNECT_DATA =(SID={$orasid})))") or die(ocierror());
$oraresult = ociparse($oralink, $oraquery) or die(ocierror());
$orarow = oci_fetch_row($oraresult);
echo '<font face="verdana">';
echo '<table border="1" cellpadding="1" cellspacing="2">';
echo "\n<tr>\n";
for ($i = 0; $i < oci_num_fields($oraresult); $i++) {
echo '<td bgcolor="#228B22"><b>' . oci_field_name($oraresult, $i);
echo "</b></td>\n";
}
echo "</tr>\n";
ociresult($oraresult, 0);
while ($orarow = ora_fetch_row($oraresult)) {
echo "<tr>\n";
for ($i = 0; $i < ora_num_fields($result); $i++) {
echo '<td bgcolor="#B8B8E8">';
echo "{$orarow[$i]}";
echo '</td>';
}
echo "</tr>\n";
}
echo "</table>\n";
echo "</font>";
oci_free_statement($oraresult);
ocilogoff();
}
} elseif ($db == "ifx") {
$ifxuser = isset($_POST['ifxuser']) ? $_POST['ifxuser'] : 'root';
$ifxpass = isset($_POST['ifxpass']) ? $_POST['ifxpass'] : '123456';
$ifxdbname = isset($_POST['ifxdbname']) ? $_POST['ifxdbname'] : 'ifxdb';
$ifxaction = isset($_POST['action']) ? $_POST['action'] : '';
$ifxquery = isset($_POST['ifxsql']) ? $_POST['ifxsql'] : '';
$ifxquery = stripslashes($ifxquery);
开发者ID:mcanv,项目名称:webshell,代码行数:67,代码来源:r00ts+php大马.php
示例19: DBexecute
function DBexecute($query, $skip_error_messages = 0)
{
global $DB;
if (!isset($DB['DB']) || empty($DB['DB'])) {
return false;
}
$result = false;
$time_start = microtime(true);
$DB['EXECUTE_COUNT']++;
switch ($DB['TYPE']) {
case ZBX_DB_MYSQL:
if (!($result = mysql_query($query, $DB['DB']))) {
error('Error in query [' . $query . '] [' . mysql_error() . ']');
}
break;
case ZBX_DB_POSTGRESQL:
if (!($result = (bool) pg_query($DB['DB'], $query))) {
error('Error in query [' . $query . '] [' . pg_last_error() . ']');
}
break;
case ZBX_DB_ORACLE:
if (!($result = OCIParse($DB['DB'], $query))) {
$e = @ocierror();
error('SQL error [' . $e['message'] . '] in [' . $e['sqltext'] . ']');
} elseif (!@OCIExecute($result, $DB['TRANSACTIONS'] ? OCI_DEFAULT : OCI_COMMIT_ON_SUCCESS)) {
$e = ocierror($result);
error('SQL error [' . $e['message'] . '] in [' . $e['sqltext'] . ']');
} else {
$result = true;
// function must return boolean
}
break;
case ZBX_DB_DB2:
if (!($result = db2_prepare($DB['DB'], $query))) {
$e = @db2_stmt_errormsg($result);
error('SQL error [' . $query . '] in [' . $e . ']');
} elseif (true !== @db2_execute($result)) {
$e = @db2_stmt_errormsg($result);
error('SQL error [' . $query . '] in [' . $e . ']');
} else {
$result = true;
// function must return boolean
}
break;
case ZBX_DB_SQLITE3:
if ($DB['TRANSACTIONS'] == 0) {
lock_sqlite3_access();
}
if (!($result = $DB['DB']->exec($query))) {
error('Error in query [' . $query . '] Error code [' . $DB['DB']->lastErrorCode() . '] Message [' . $DB['DB']->lastErrorMsg() . ']');
}
if ($DB['TRANSACTIONS'] == 0) {
unlock_sqlite3_access();
}
break;
}
if ($DB['TRANSACTIONS'] != 0 && !$result) {
$DB['TRANSACTION_NO_FAILED_SQLS'] = false;
}
CProfiler::getInstance()->profileSql(microtime(true) - $time_start, $query);
return (bool) $result;
}
开发者ID:quanta-computing,项目名称:debian-packages,代码行数:62,代码来源:db.inc.php
示例20: otherdb
//.........这里部分代码省略.........
$oraquery = stripslashes($oraquery);
print <<<END
<form method="POST" name="oraform" action="?s=gg&db=ora">
<div class="actall">
Host:<input type="text" name="orahost" value="{$orahost}" style="width:100px">
Port:<input type="text" name="oraport" value="{$oraport}" style="width:50px">
User:<input type="text" name="orauser" value="{$orauser}" style="width:80px">
Pass:<input type="text" name="orapass" value="{$orapass}" style="width:100px">
SID:<input type="text" name="orasid" value="{$orasid}" style="width:50px"><br>
<script language="javascript">
function oraFull(i){
Str = new Array(5);
\tStr[0] = "";
\tStr[1] = "select version();";
\tStr[2] = "SELECT NAME FROM V{$DATABASE}";
\tStr[3] = "select * From all_objects where object_type='TABLE'";
\tStr[4] = "select column_name from user_tab_columns where table_name='table1'";
\toraform.orasql.value = Str[i];
\treturn true;
}
</script>
<textarea name="orasql" style="width:600px;height:200px;">{$oraquery}</textarea><br>
<select onchange="return oraFull(options[selectedIndex].value)">
\t<option value="0" selected>ִ������</option>
\t<option value="1">��ʾ�汾</option>
\t<option value="2">���ݿ�</option>
\t<option value="3">����</option>
\t<option value="4">�ֶ�</option>
</select>
<input type="hidden" name="action" value="myquery">
<input class="bt" type="submit" value="Query"></div></form>
END;
if ($oraaction == 'oraquery') {
$oralink = OCILogon($orauser, $orapass, "(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST={$orahost})(PORT = {$oraport}))(CONNECT_DATA =(SID={$orasid})))") or die(ocierror());
$oraresult = ociparse($oralink, $oraquery) or die(ocierror());
$orarow = oci_fetch_row($oraresult);
echo '<font face="verdana"><table border="1" cellpadding="1" cellspacing="2">' . "\n<tr>\n";
for ($i = 0; $i < oci_num_fields($oraresult); $i++) {
echo '<td><b>' . oci_field_name($oraresult, $i) . "</b></td>\n";
}
echo "</tr>\n";
ociresult($oraresult, 0);
while ($orarow = ora_fetch_row($oraresult)) {
echo "<tr>\n";
for ($i = 0; $i < ora_num_fields($result); $i++) {
echo '<td>' . "{$orarow[$i]}" . '</td>';
}
echo "</tr>\n";
}
echo "</table></font>";
oci_free_statement($oraresult);
ocilogoff();
}
} elseif ($db == "ifx") {
$ifxuser = isset($_POST['ifxuser']) ? $_POST['ifxuser'] : 'root';
$ifxpass = isset($_POST['ifxpass']) ? $_POST['ifxpass'] : '123456';
$ifxdbname = isset($_POST['ifxdbname']) ? $_POST['ifxdbname'] : 'ifxdb';
$ifxaction = isset($_POST['action']) ? $_POST['action'] : '';
$ifxquery = isset($_POST['ifxsql']) ? $_POST['ifxsql'] : '';
$ifxquery = stripslashes($ifxquery);
print <<<END
<form method="POST" name="ifxform" action="?s=gg&db=ifx">
<div class="actall">Dbname:<input type="text" name="ifxhost" value="{$ifxdbname}" style="width:100px">
User:<input type="text" name="ifxuser" value="{$ifxuser}" style="width:100px">
Pass:<input type="text" name="ifxpass" value="{$ifxpass}" style="width:100px"><br>
<script language="javascript">
开发者ID:evil7,项目名称:webshell,代码行数:67,代码来源:silic.php
注:本文中的ocierror函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论