php の Adodbzip クラス インスタンス、phpadodbzip クラス インスタンス_PHP チュートリアル
Jul 13, 2016 am 10:12 AM
php
インスタンス化する
親切
PHPのAdodbzipクラスインスタンス、phpadodbzipクラスインスタンス
この記事の例では、php の adodbzip プログラム コードについて説明します。参考のためにみんなで共有してください。詳細は以下の通りです
コードをコピーします コードは次のとおりです:
<?php
/**
* AdodbZip 1.1
*
* コード例:
* include_once 'AdodbZip.php'
; * $db = AdodbZip::init(NewADOConnection('mysql チュートリアル')); * echo $db->GetOne('SELECT NOW()'); *
* プロセスの説明:
* 1. $extract_dir に Adodb プログラム ファイルが存在し、$zip_file が存在しない場合は、$extract_dir にある Adodb プログラム ファイルを使用します。
* 2. $extract_dir に Adodb プログラム ファイルが存在し、$zip_file が存在する場合、変更時刻を比較し、$extract_dir にある Adodb プログラム ファイルが新しいものに更新されます。
* 3. $extract_dir に Adodb プログラム ファイルが存在せず、$zip_file が存在する場合は、$extract_dir にある Adodb プログラム ファイルが $zip_file から解凍されます。
* 4. $extract_dir に Adodb プログラム ファイルが存在せず、$zip_file も存在しない場合は、$zip_url から Adodb Zip ファイルをダウンロードし、Adodb プログラム ファイルを解凍します。
*その他の指示:
※1. $extract_dirはカスタマイズ可能です。 Adodb Zip パッケージをこのディレクトリに完全に抽出する場合は、$zip_url と $zip_file の設定を無視できます。これは、従来の Adodb の使用と同じです。
※2. $zip_fileはカスタマイズ可能です。 $zip_file が存在する場合、$zip_url は無視できるため、$zip_file はサイト全体で均一に使用できます。
※3. $zip_urlはカスタマイズ可能です。 Adobe のバージョンはいつでも変更できます。現時点では、バージョンが相互に干渉しないように、$zip_file と $extract_dir にはデフォルト値を使用することが最善です。
※4. $server、$user、$pwd、$dbはカスタマイズ可能です。デフォルトは mysql のデフォルト値です。この項目は、AdodbZip::init メソッドを呼び出した後にのみ有効になります。
※5. $charsetはカスタマイズ可能です。デフォルトでは、エンコーディングは変更されません。この項目は、AdodbZip::init メソッドを呼び出した後にのみ有効になります。
※6. AdodbZip::initメソッドでAdodbの初期化値を追加できます。
*/
/**
* AdodbZip 起動アイテム
*/
//パラメータを設定します
AdodbZip::$zip_url = 'http://c.net チュートリアル works-kr-1.dl.sourceforge.net/project/adodb/adodb-php5-only/adodb-509-for-php5/adodb509.zip'; //[設定項目] AdobeのZipファイルのダウンロードアドレス ファイルが大きい場合は、先にダウンロードまたは解凍することをお勧めします
AdodbZip::$zip_file = sys_get_temp_dir () . preg_replace ( '/^.*/(adodb.*?.zip)$/i', 'adodb/$1', AdodbZip::$zip_url ); Adodb の Zip ファイルのキャッシュの場所
AdodbZip::$entry_dir = 'adodb5'; AdodbZip::$extract_dir = sys_get_temp_dir () . 'adodb/' . AdodbZip::$entry_dir; //[設定項目] Adodb プログラムファイルのキャッシュの場所
AdodbZip::$server = 'localhost' //[設定項目] サーバー
; AdodbZip::$user = 'root' //[設定項目] ユーザー名
; AdodbZip::$pwd = '' //[設定項目] パスワード
; AdodbZip::$db = 'test' //[設定項目] データベースチュートリアル
; AdodbZip::$charset = '' //[設定項目]エンコーディング
;
//登録同意書
if (! in_array ( 'AdodbZip', stream_get_wrappers () )) {
stream_wrapper_register ( 'AdodbZip', 'AdodbZip' ); }
//定数を定義する
if (! 定義済み ( 'ADODB_DIR' )) {
定義 ( 'ADODB_DIR', 'AdodbZip:/' ); }
// プログラムが含まれています
require_once (ADODB_DIR . '/adodb.inc.php'); // $db = AdodbZip::init(NewADOConnection('mysqlt')) // [選択された項目] は $db の定義を参照します
// return AdodbZip::init(NewADOConnection('mysqlt')); // [選択] 参照は $db を返すことに注意してください。
/**
* AdodbZip クラス定義
*/
クラス AdodbZip {
/**
* Adodb 変数
*/
パブリック静的 $zip_url
パブリック静的 $zip_file
パブリック静的 $entry_dir
パブリック静的 $extract_dir
パブリック静的 $server
パブリック静的 $user
パブリック静的 $pwd
パブリック静的 $db
パブリック静的 $charset
/**
* ストリーム変数
*/
プライベート $ハンドル
パブリック $context;
/**
* Adodb 関数グループ
*/
/**
*初期化
* @param adodb &$adodb
* @return adodb
*/
パブリック静的関数 init(&$adodb) {
$adodb->接続 ( self::$server, self::$user, self::$pwd, self::$db ); if(self::$charset!=''){
$adodb->Execute('SET NAMES '.self::$charset.';'); }
$adodb を返します
}
/**
*ストリーム機能グループ
*/
/**
* __構築
*/
パブリック関数 __construct() {
}
/**
* ストリームキャスト
* @param int $cast_as
* @return リソース
*/
パブリック関数 stream_cast($cast_as) {
false を返します。
}
/**
* ストリーム_クローズ
*/
パブリック関数 stream_close() {
fclose ( $this->handle );
}
/**
* ストリーム_eof
* @return bool
*/
パブリック関数 stream_eof() {
return feof ( $this->handle );
}
/**
* ストリームフラッシュ
* @return bool
*/
パブリック関数 stream_flush() {
return fflush ( $this->handle );
}
/**
* ストリームロック
* @param モード $オプション
* @return bool
*/
パブリック関数 stream_lock($options) {
return flock ( $this->handle, $options );
}
/**
* ストリームオープン
* @param 文字列 $path
* @param string $mode
* @param int $options
* @param 文字列 &$opend_path
* @return bool
*/
パブリック関数 stream_open($path, $mode, $options, &$opend_path) {
// 验证文件地址
if (! preg_match ( '/^.*?://(.*)$/', $path, $matches )) {
false を返します。
}
$tmp_file = self::$extract_dir 。 DIRECTORY_SEPARATOR 。 $matches [1];
$entry_file = self::$entry_dir 。 '/' 。 str_replace ( '', '/', $matches [1] );
$zip_file = self::$zip_file;
// 验证程序文件
if (! file_exists ( $tmp_file ) || file_exists ( $zip_file ) && filectime ( $tmp_file ) < filectime ( $zip_file )) {
// ダウンロード文書
if (! file_exists ( $zip_file )) {
// 目录处理
if (! is_dir ( dirname ( self::$zip_file ) )) {
if (mkdir ( dirname ( self::$zip_file ), 0777, true ) === false) {
header ( 'Content-type: text/html;charset=utf-8' );
die ( '请创建目录 ' . $zip_dir );
}
}
// ダウンロード文書
if (! file_exists ( self::$zip_file )) {
$break = true;
してください{
$url_arr = parse_url ( self::$zip_url );
$fp = fsockopen ( $url_arr ['host'], isset ( $url_arr ['port'] ) ? ( int ) $url_arr ['port'] : 80, $errno, $errstr, 10 );
if ($fp === false) {
壊す;
}
$out = "GET" 。 $url_arr ['パス'] 。 " HTTP/1.0rnホスト: " 。 $url_arr ['ホスト'] 。 " rn接続: より近いnrn";
fputs ( $fp, $out );
if (feof ( $fp )) {
壊す;
}
$buffer = fgets ( $fp, 1024 );
if (! preg_match ( '/^HTTP/1.d 200 /i', $buffer )) {
壊す;
}
$content_length = false;
$content_start = false;
while ( ! feof ( $fp ) ) {
$buffer = fgets ( $fp, 1024 );
if ($buffer === "rn") {
$content_start = true;
壊す;
}
if (preg_match ( '/^Content-Length:s*(d+)/i', $buffer, $matches )) {
$content_length = ( int ) $matches [1];
}
}
if ($content_length === false || $content_start === false) {
壊す;
}
$content = stream_get_contents ( $fp );
if ($content === false) {
壊す;
}
$result = file_put_contents ( self::$zip_file, $content );
設定を解除します ( $content );
If ($result === false) {
休憩
}
fclose ( $fp ); } } while ( $break = false ); If ($break) {
ヘッダー ( 'Content-type: text/html;charset=utf-8' ); die ( 'ファイルをダウンロードしてください<a href="' . self::$zip_url . '">' . self::$zip_url . '.zip</a > 名前を付けて保存' . self::$zip_file ) ;
}
}
}
//ディレクトリを作成します
$tmp_dir = ディレクトリ名 ( $tmp_file ); if (! is_dir ( $tmp_dir )) {
If (mkdir ( $tmp_dir, 0777, true ) === false) {
ヘッダー ( 'Content-type: text/html;charset=utf-8' ); die ( 'ディレクトリを作成してください ' . $tmp_dir ); }
}
// 圧縮ファイルを開きます
$zip = zip_open ( $zip_file ); if (! is_resource ( $zip )) {
false を返します。 }
// 解凍されたファイルを見つけます
してください{
$entry = zip_read ( $zip ); If (! is_resource ( $entry )) {
false を返します。 }
If (zip_entry_name ( $entry ) == $entry_file) {
休憩
}
} ながら (真); // 圧縮ファイルを転送
zip_entry_open ( $zip, $entry ); file_put_contents ( $tmp_file, zip_entry_read ( $entry, zip_entry_filesize ( $entry ) ) ); zip_entry_close ( $entry ); zip_close ( $zip ); }
// ファイルを開く
$this->handle = fopen ( $tmp_file, $mode ); if (! is_resource ( $this->handle )) {
false を返します。 }
true を返します。 }
/**
* ストリーム読み取り
* @param int $count
* @return 文字列
*/
パブリック関数 stream_read($count) {
fread ( $this->handle, $count ) を返します。 }
/**
* ストリームシーク
* @param int $offset
* @param int $whence=SEEK_SET
* @return bool
*/
パブリック関数 stream_seek($offset, $whence = SEEK_SET) {
fseek ( $this->handle, $offset, $whence ) を返します。 }
/**
* ストリームセットオプション
* @param int $option
* @param int $arg1
* @param int $arg2
* @return bool
*/
パブリック関数 stream_set_option($option, $arg1, $arg2) {
false を返します。 }
/**
* ストリーム統計
* @return 配列
*/
パブリック関数 stream_stat() {
fstat ( $this->handle ) を返します。 }
/**
* ストリームテル
* @return int
*/
パブリック関数 stream_tell() {
ftell ( $this->handle ) を返します。 }
/**
* ストリーム書き込み
* @param string $data
* @return int
*/
パブリック関数 stream_write($data) {
fwrite ( $this->handle, $data ); を返します。 }
/**
* url_stat
* @param 文字列 $path
* @param int $flag
* @return 配列
*/
パブリック関数 url_stat($path, $flag) {
if (! preg_match ( '/^.*?://(.*)$/', $path, $matches )) {
false を返します。 }
$tmp_file = self::$extract_dir . $matches [1]; if (file_exists ( $tmp_file )) {
if ($flag & STREAM_URL_STAT_LINK) {
lstat ( $tmp_file ) を返します。 } その他 {
統計を返します ( $tmp_file ); }
}
if ($flag & STREAM_URL_STAT_QUIET) {
$arr = array ('dev' => 0, 'ino' => 0, 'mode' => 0, 'nlink' => 0, 'uid' => 0, 'gid' => ; 0、'rdev' => 0、'atime' => 0、'blksize' => 0 , 'ブロック' =>
;array_merge ( array_values ( $arr ), $arr ) を返します。 }
false を返します。 }
}
?>
使用例のコードは以下の通りです:
/**
* AdodbZip 1.1
*
* コード例:
* include_once 'AdodbZip.php'
; * $db = AdodbZip::init(NewADOConnection('mysql チュートリアル')); * echo $db->GetOne('SELECT NOW()'); *
* プロセスの説明:
* 1. $extract_dir に Adodb プログラム ファイルが存在し、$zip_file が存在しない場合は、$extract_dir にある Adodb プログラム ファイルを使用します。
* 2. $extract_dir に Adodb プログラム ファイルが存在し、$zip_file が存在する場合、変更時刻を比較し、$extract_dir にある Adodb プログラム ファイルが新しいものに更新されます。
* 3. $extract_dir に Adodb プログラム ファイルが存在せず、$zip_file が存在する場合は、$extract_dir にある Adodb プログラム ファイルが $zip_file から解凍されます。
* 4. $extract_dir に Adodb プログラム ファイルが存在せず、$zip_file も存在しない場合は、$zip_url から Adodb Zip ファイルをダウンロードし、Adodb プログラム ファイルを解凍します。
*その他の指示:
※1. $extract_dirはカスタマイズ可能です。 Adodb Zip パッケージをこのディレクトリに完全に抽出する場合は、$zip_url と $zip_file の設定を無視できます。これは、従来の Adodb の使用と同じです。
※2. $zip_fileはカスタマイズ可能です。 $zip_file が存在する場合、$zip_url は無視できるため、$zip_file はサイト全体で均一に使用できます。
※3. $zip_urlはカスタマイズ可能です。 Adobe のバージョンはいつでも変更できます。現時点では、バージョンが相互に干渉しないように、$zip_file と $extract_dir にはデフォルト値を使用することが最善です。
※4. $server、$user、$pwd、$dbはカスタマイズ可能です。デフォルトは mysql のデフォルト値です。この項目は、AdodbZip::init メソッドを呼び出した後にのみ有効になります。
※5. $charsetはカスタマイズ可能です。デフォルトでは、エンコーディングは変更されません。この項目は、AdodbZip::init メソッドを呼び出した後にのみ有効になります。
※6. AdodbZip::initメソッドでAdodbの初期化値を追加できます。
*/
/**
* AdodbZip 起動アイテム
*/
//パラメータを設定します
AdodbZip::$zip_url = 'http://c.net チュートリアル works-kr-1.dl.sourceforge.net/project/adodb/adodb-php5-only/adodb-509-for-php5/adodb509.zip'; //[設定項目] AdobeのZipファイルのダウンロードアドレス ファイルが大きい場合は、先にダウンロードまたは解凍することをお勧めします
AdodbZip::$zip_file = sys_get_temp_dir () . preg_replace ( '/^.*/(adodb.*?.zip)$/i', 'adodb/$1', AdodbZip::$zip_url ); Adodb の Zip ファイルのキャッシュの場所
AdodbZip::$entry_dir = 'adodb5'; AdodbZip::$extract_dir = sys_get_temp_dir () . 'adodb/' . AdodbZip::$entry_dir; //[設定項目] Adodb プログラムファイルのキャッシュの場所
AdodbZip::$server = 'localhost' //[設定項目] サーバー
; AdodbZip::$user = 'root' //[設定項目] ユーザー名
; AdodbZip::$pwd = '' //[設定項目] パスワード
; AdodbZip::$db = 'test' //[設定項目] データベースチュートリアル
; AdodbZip::$charset = '' //[設定項目]エンコーディング
;
//登録同意書
if (! in_array ( 'AdodbZip', stream_get_wrappers () )) {
stream_wrapper_register ( 'AdodbZip', 'AdodbZip' ); }
//定数を定義する
if (! 定義済み ( 'ADODB_DIR' )) {
定義 ( 'ADODB_DIR', 'AdodbZip:/' ); }
// プログラムが含まれています
require_once (ADODB_DIR . '/adodb.inc.php'); // $db = AdodbZip::init(NewADOConnection('mysqlt')) // [選択された項目] は $db の定義を参照します
// return AdodbZip::init(NewADOConnection('mysqlt')); // [選択] 参照は $db を返すことに注意してください。
/**
* AdodbZip クラス定義
*/
クラス AdodbZip {
/**
* Adodb 変数
*/
パブリック静的 $zip_url
パブリック静的 $zip_file
パブリック静的 $entry_dir
パブリック静的 $extract_dir
パブリック静的 $server
パブリック静的 $user
パブリック静的 $pwd
パブリック静的 $db
パブリック静的 $charset
/**
* ストリーム変数
*/
プライベート $ハンドル
パブリック $context;
/**
* Adodb 関数グループ
*/
/**
*初期化
* @param adodb &$adodb
* @return adodb
*/
パブリック静的関数 init(&$adodb) {
$adodb->接続 ( self::$server, self::$user, self::$pwd, self::$db ); if(self::$charset!=''){
$adodb->Execute('SET NAMES '.self::$charset.';'); }
$adodb を返します
}
/**
*ストリーム機能グループ
*/
/**
* __構築
*/
パブリック関数 __construct() {
}
/**
* ストリームキャスト
* @param int $cast_as
* @return リソース
*/
パブリック関数 stream_cast($cast_as) {
false を返します。
}
/**
* ストリーム_クローズ
*/
パブリック関数 stream_close() {
fclose ( $this->handle );
}
/**
* ストリーム_eof
* @return bool
*/
パブリック関数 stream_eof() {
return feof ( $this->handle );
}
/**
* ストリームフラッシュ
* @return bool
*/
パブリック関数 stream_flush() {
return fflush ( $this->handle );
}
/**
* ストリームロック
* @param モード $オプション
* @return bool
*/
パブリック関数 stream_lock($options) {
return flock ( $this->handle, $options );
}
/**
* ストリームオープン
* @param 文字列 $path
* @param string $mode
* @param int $options
* @param 文字列 &$opend_path
* @return bool
*/
パブリック関数 stream_open($path, $mode, $options, &$opend_path) {
// 验证文件地址
if (! preg_match ( '/^.*?://(.*)$/', $path, $matches )) {
false を返します。
}
$tmp_file = self::$extract_dir 。 DIRECTORY_SEPARATOR 。 $matches [1];
$entry_file = self::$entry_dir 。 '/' 。 str_replace ( '', '/', $matches [1] );
$zip_file = self::$zip_file;
// 验证程序文件
if (! file_exists ( $tmp_file ) || file_exists ( $zip_file ) && filectime ( $tmp_file ) < filectime ( $zip_file )) {
// ダウンロード文書
if (! file_exists ( $zip_file )) {
// 目录处理
if (! is_dir ( dirname ( self::$zip_file ) )) {
if (mkdir ( dirname ( self::$zip_file ), 0777, true ) === false) {
header ( 'Content-type: text/html;charset=utf-8' );
die ( '请创建目录 ' . $zip_dir );
}
}
// ダウンロード文書
if (! file_exists ( self::$zip_file )) {
$break = true;
してください{
$url_arr = parse_url ( self::$zip_url );
$fp = fsockopen ( $url_arr ['host'], isset ( $url_arr ['port'] ) ? ( int ) $url_arr ['port'] : 80, $errno, $errstr, 10 );
if ($fp === false) {
壊す;
}
$out = "GET" 。 $url_arr ['パス'] 。 " HTTP/1.0rnホスト: " 。 $url_arr ['ホスト'] 。 " rn接続: より近いnrn";
fputs ( $fp, $out );
if (feof ( $fp )) {
壊す;
}
$buffer = fgets ( $fp, 1024 );
if (! preg_match ( '/^HTTP/1.d 200 /i', $buffer )) {
壊す;
}
$content_length = false;
$content_start = false;
while ( ! feof ( $fp ) ) {
$buffer = fgets ( $fp, 1024 );
if ($buffer === "rn") {
$content_start = true;
壊す;
}
if (preg_match ( '/^Content-Length:s*(d+)/i', $buffer, $matches )) {
$content_length = ( int ) $matches [1];
}
}
if ($content_length === false || $content_start === false) {
壊す;
}
$content = stream_get_contents ( $fp );
if ($content === false) {
壊す;
}
$result = file_put_contents ( self::$zip_file, $content );
設定を解除します ( $content );
If ($result === false) {
休憩
}
fclose ( $fp ); } } while ( $break = false ); If ($break) {
ヘッダー ( 'Content-type: text/html;charset=utf-8' ); die ( 'ファイルをダウンロードしてください<a href="' . self::$zip_url . '">' . self::$zip_url . '.zip</a > 名前を付けて保存' . self::$zip_file ) ;
}
}
}
//ディレクトリを作成します
$tmp_dir = ディレクトリ名 ( $tmp_file ); if (! is_dir ( $tmp_dir )) {
If (mkdir ( $tmp_dir, 0777, true ) === false) {
ヘッダー ( 'Content-type: text/html;charset=utf-8' ); die ( 'ディレクトリを作成してください ' . $tmp_dir ); }
}
// 圧縮ファイルを開きます
$zip = zip_open ( $zip_file ); if (! is_resource ( $zip )) {
false を返します。 }
// 解凍されたファイルを見つけます
してください{
$entry = zip_read ( $zip ); If (! is_resource ( $entry )) {
false を返します。 }
If (zip_entry_name ( $entry ) == $entry_file) {
休憩
}
} ながら (真); // 圧縮ファイルを転送
zip_entry_open ( $zip, $entry ); file_put_contents ( $tmp_file, zip_entry_read ( $entry, zip_entry_filesize ( $entry ) ) ); zip_entry_close ( $entry ); zip_close ( $zip ); }
// ファイルを開く
$this->handle = fopen ( $tmp_file, $mode ); if (! is_resource ( $this->handle )) {
false を返します。 }
true を返します。 }
/**
* ストリーム読み取り
* @param int $count
* @return 文字列
*/
パブリック関数 stream_read($count) {
fread ( $this->handle, $count ) を返します。 }
/**
* ストリームシーク
* @param int $offset
* @param int $whence=SEEK_SET
* @return bool
*/
パブリック関数 stream_seek($offset, $whence = SEEK_SET) {
fseek ( $this->handle, $offset, $whence ) を返します。 }
/**
* ストリームセットオプション
* @param int $option
* @param int $arg1
* @param int $arg2
* @return bool
*/
パブリック関数 stream_set_option($option, $arg1, $arg2) {
false を返します。 }
/**
* ストリーム統計
* @return 配列
*/
パブリック関数 stream_stat() {
fstat ( $this->handle ) を返します。 }
/**
* ストリームテル
* @return int
*/
パブリック関数 stream_tell() {
ftell ( $this->handle ) を返します。 }
/**
* ストリーム書き込み
* @param string $data
* @return int
*/
パブリック関数 stream_write($data) {
fwrite ( $this->handle, $data ); を返します。 }
/**
* url_stat
* @param 文字列 $path
* @param int $flag
* @return 配列
*/
パブリック関数 url_stat($path, $flag) {
if (! preg_match ( '/^.*?://(.*)$/', $path, $matches )) {
false を返します。 }
$tmp_file = self::$extract_dir . $matches [1]; if (file_exists ( $tmp_file )) {
if ($flag & STREAM_URL_STAT_LINK) {
lstat ( $tmp_file ) を返します。 } その他 {
統計を返します ( $tmp_file ); }
}
if ($flag & STREAM_URL_STAT_QUIET) {
$arr = array ('dev' => 0, 'ino' => 0, 'mode' => 0, 'nlink' => 0, 'uid' => 0, 'gid' => ; 0、'rdev' => 0、'atime' => 0、'blksize' => 0 , 'ブロック' =>
;array_merge ( array_values ( $arr ), $arr ) を返します。 }
false を返します。 }
}
?>
使用例のコードは以下の通りです:
コードをコピーします コードは次のとおりです:<?php
include_once 'AdodbZip.php';
$db = AdodbZip::init(NewADOConnection('mysqlt'));
echo $db->GetOne('SELECT NOW()');
?>それも2ステップです
1. AdodbZip.php ファイルが含まれています
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/923899.html
www.bkjia.comこのウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
2つのポイント博物館:バングルワシュタランドロケーションガイド
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
2つのポイント博物館:バングルワシュタランドロケーションガイド
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7116
9


Java チュートリアル
1534
14


Laravel チュートリアル
1254
25


PHP チュートリアル
1205
29


CakePHP チュートリアル
1153
46



Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド
