PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Include کردن اطلاعات یک فایل؟



Unkn0wn200
November 15th, 2010, 11:22
سلام

من می خوام اطلاعات یه فایل php که ماله config.php ویبی هست رو با include بیرون بکشم ، به فایل هم دسترسی Read دارم


<?php
/*================================================= =====================*\
|| ################################################## ################## ||
|| # vBulletin 4.0.8
|| # ---------------------------------------------------------------- # ||
|| # All PHP code in this file is ©2000-2010 vBulletin Solutions Inc. # ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| ################################################## ################## ||
\*================================================ ======================*/

/*-------------------------------------------------------*\
| ****** NOTE REGARDING THE VARIABLES IN THIS FILE ****** |
+---------------------------------------------------------+
| If you get any errors while attempting to connect to |
| MySQL, you will need to email your webhost because we |
| cannot tell you the correct values for the variables |
| in this file. |
\*-------------------------------------------------------*/

// ****** DATABASE TYPE ******
// This is the type of the database server on which your vBulletin database will be located.
// Valid options are mysql and mysqli, for slave support add _slave. Try to use mysqli if you are using PHP 5 and MySQL 4.1+
// for slave options just append _slave to your preferred database type.
$config['Database']['dbtype'] = 'mysql';

// ****** DATABASE NAME ******
// This is the name of the database where your vBulletin will be located.
// This must be created by your webhost.
$config['Database']['dbname'] = 'forum';

// ****** TABLE PREFIX ******
// Prefix that your vBulletin tables have in the database.
$config['Database']['tableprefix'] = '';

// ****** TECHNICAL EMAIL ADDRESS ******
// If any database errors occur, they will be emailed to the address specified here.
// Leave this blank to not send any emails when there is a database error.
$config['Database']['technicalemail'] = 'dbmaster@example.com';

// ****** FORCE EMPTY SQL MODE ******
// New versions of MySQL (4.1+) have introduced some behaviors that are
// incompatible with vBulletin. Setting this value to "true" disables those
// behaviors. You only need to modify this value if vBulletin recommends it.
$config['Database']['force_sql_mode'] = false;



// ****** MASTER DATABASE SERVER NAME AND PORT ******
// This is the hostname or IP address and port of the database server.
// If you are unsure of what to put here, leave the default values.
//
// Note: If you are using IIS 7+ and MySQL is on the same machine, you
// need to use 127.0.0.1 instead of localhost
$config['MasterServer']['servername'] = 'localhost';
$config['MasterServer']['port'] = 3306;

// ****** MASTER DATABASE USERNAME & PASSWORD ******
// This is the username and password you use to access MySQL.
// These must be obtained through your webhost.
$config['MasterServer']['username'] = 'root';
$config['MasterServer']['password'] = '';

// ****** MASTER DATABASE PERSISTENT CONNECTIONS ******
// This option allows you to turn persistent connections to MySQL on or off.
// The difference in performance is negligible for all but the largest boards.
// If you are unsure what this should be, leave it off. (0 = off; 1 = on)
$config['MasterServer']['usepconnect'] = 0;



// ****** SLAVE DATABASE CONFIGURATION ******
// If you have multiple database backends, this is the information for your slave
// server. If you are not 100% sure you need to fill in this information,
// do not change any of the values here.
$config['SlaveServer']['servername'] = '';
$config['SlaveServer']['port'] = 3306;
$config['SlaveServer']['username'] = '';
$config['SlaveServer']['password'] = '';
$config['SlaveServer']['usepconnect'] = 0;



// ****** PATH TO ADMIN & MODERATOR CONTROL PANELS ******
// This setting allows you to change the name of the folders that the admin and
// moderator control panels reside in. You may wish to do this for security purposes.
// Please note that if you change the name of the directory here, you will still need
// to manually change the name of the directory on the server.
$config['Misc']['admincpdir'] = 'admincp';
$config['Misc']['modcpdir'] = 'modcp';

// Prefix that all vBulletin cookies will have
// Keep this short and only use numbers and letters, i.e. 1-9 and a-Z
$config['Misc']['cookieprefix'] = 'bb';

// ******** FULL PATH TO FORUMS DIRECTORY ******
// On a few systems it may be necessary to input the full path to your forums directory
// for vBulletin to function normally. You can ignore this setting unless vBulletin
// tells you to fill this in. Do not include a trailing slash!
// Example Unix:
// $config['Misc']['forumpath'] = '/home/users/public_html/forums';
// Example Win32:
// $config['Misc']['forumpath'] = 'c:\program files\apache group\apache\htdocs\vb3';
$config['Misc']['forumpath'] = '';



// ****** USERS WITH ADMIN LOG VIEWING PERMISSIONS ******
// The users specified here will be allowed to view the admin log in the control panel.
// Users must be specified by *ID number* here. To obtain a user's ID number,
// view their profile via the control panel. If this is a new installation, leave
// the first user created will have a user ID of 1. Seperate each userid with a comma.
$config['SpecialUsers']['canviewadminlog'] = '1';

// ****** USERS WITH ADMIN LOG PRUNING PERMISSIONS ******
// The users specified here will be allowed to remove ("prune") entries from the admin
// log. See the above entry for more information on the format.
$config['SpecialUsers']['canpruneadminlog'] = '1';

// ****** USERS WITH QUERY RUNNING PERMISSIONS ******
// The users specified here will be allowed to run queries from the control panel.
// See the above entries for more information on the format.
// Please note that the ability to run queries is quite powerful. You may wish
// to remove all user IDs from this list for security reasons.
$config['SpecialUsers']['canrunqueries'] = '';

// ****** UNDELETABLE / UNALTERABLE USERS ******
// The users specified here will not be deletable or alterable from the control panel by any users.
// To specify more than one user, separate userids with commas.
$config['SpecialUsers']['undeletableusers'] = '';

// ****** SUPER ADMINISTRATORS ******
// The users specified below will have permission to access the administrator permissions
// page, which controls the permissions of other administrators
$config['SpecialUsers']['superadministrators'] = '1';

// ****** DATASTORE CACHE CONFIGURATION *****
// Here you can configure different methods for caching datastore items.
// vB_Datastore_Filecache - to use includes/datastore/datastore_cache.php
// vB_Datastore_APC - to use APC
// vB_Datastore_XCache - to use XCache
// vB_Datastore_Memcached - to use a Memcache server, more configuration below
// $config['Datastore']['class'] = 'vB_Datastore_Filecache';

// ******** DATASTORE PREFIX ******
// If you are using a PHP Caching system (APC, XCache, eAccelerator) with more
// than one set of forums installed on your host, you *may* need to use a prefix
// so that they do not try to use the same variable within the cache.
// This works in a similar manner to the database table prefix.
// $config['Datastore']['prefix'] = '';

// It is also necessary to specify the hostname or IP address and the port the server is listening on
/*
$config['Datastore']['class'] = 'vB_Datastore_Memcached';
$i = 0;
// First Server
$i++;
$config['Misc']['memcacheserver'][$i] = '127.0.0.1';
$config['Misc']['memcacheport'][$i] = 11211;
$config['Misc']['memcachepersistent'][$i] = true;
$config['Misc']['memcacheweight'][$i] = 1;
$config['Misc']['memcachetimeout'][$i] = 1;
$config['Misc']['memcacheretry_interval'][$i] = 15;
*/

// ****** The following options are only needed in special cases ******

// ****** MySQLI OPTIONS *****
// When using MySQL 4.1+, MySQLi should be used to connect to the database.
// If you need to set the default connection charset because your database
// is using a charset other than latin1, you can set the charset here.
// If you don't set the charset to be the same as your database, you
// may receive collation errors. Ignore this setting unless you
// are sure you need to use it.
// $config['Mysqli']['charset'] = 'utf8';

// Optionally, PHP can be instructed to set connection parameters by reading from the
// file named in 'ini_file'. Please use a full path to the file.
// Example:
// $config['Mysqli']['ini_file'] = 'c:\program files\MySQL\MySQL Server 4.1\my.ini';
$config['Mysqli']['ini_file'] = '';

// Image Processing Options
// Images that exceed either dimension below will not be resized by vBulletin. If you need to resize larger images, alter these settings.
$config['Misc']['maxwidth'] = 2592;
$config['Misc']['maxheight'] = 1944;

/*================================================= =====================*\
|| ################################################## ##################
|| #
|| # CVS: $RCSfile$ - $Revision: 39199 $
|| ################################################## ##################
\*================================================ ======================*/


این فایل کانفیگ هست که من می خوام اطلاعات زیر رو بیرون بکشم :

$config['Database']['dbname'] =
$config['MasterServer']['username']
$config['MasterServer']['password']

از کد زیر استفاده می کنم :

<?
include('/home/user/public_html/includes/class_core.php');
$username = $config['MasterServer']['username'];
$password = $config['MasterServer']['password'];
$dbname = $config['Database']['dbname'];
echo "<b>username:</b>$username</br><b>password:</b>$password</br><b>database:</b>$dbname";
?>

ولی هیچ اطلاعاتی رو بیرون نمی کشه و نمی ده بهم

لطفا راهنمایی کنید چطور دیتا رو بیرون بکشم با include یا یه راه دیگه بدین
من به فایل دسترسی دارم ولی encode شده هست

مرسی

mortezaa
November 15th, 2010, 11:35
سلام اگه دستور رو echo كني خوب اطلاعات مياد

echo $config['Database']['dbname'];
ولي اگه كد اخرت كار نميكنه براي اينكه ادرسي كه تو معرفي كرده بودي config.php
هستي ولي تو اينجا


include('/home/user/public_html/includes/class_core.php');

معرفي كردي فايل رو كه include ميكني رو يك دقت كن

اگه اطلاعات جدول ديتا بيس رو داري خوب خيلي راحت مي توني ركوردها رو بكشي بيرون
با تابع هاي
mysql_query();
و
mysql_fetch_array()
البته قبلش هم بايد وصل بشي به ديتا بيس

اطلاعات دقيق از تابع هاي بالا
PHP: mysql_query - Manual (http://php.net/manual/en/function.mysql-query.php)

Unkn0wn200
November 15th, 2010, 11:43
مسیر درسته
ولی فکر نکنم Echo جواب بده
کسی راه دیگه ای داره؟

---------- Post added at 11:43 AM ---------- Previous post was at 11:41 AM ----------

اطلاعات دیتابیس رو می خوام با این بیرون بکشم
اطلاعات چیزی ندارم می خوام از کانفیگ کد شده بیرون بکشم
فایل با ionclube اینکد شده

mortezaa
November 15th, 2010, 11:44
من كدي كه دادي رو چاب كردم مشكلي نداشت خروحي داد
برنامه Error ميده؟

Unkn0wn200
November 15th, 2010, 11:58
ارور نمیده ولی جوابی هم نمیده و نمی تونم دیتا رو بخونم
قبلا رو چند جای دیگه تست کرده بودم جواب میداد راحت ولی رو این ...

---------- Post added at 11:58 AM ---------- Previous post was at 11:58 AM ----------

ممکنه class_Core.php هم چنج بیشه؟

mortezaa
November 15th, 2010, 12:12
بين اگه فايل class_Core.php اطلاعات بانك باشه خوب مي توني وصل بشي
مثلا كدت اين طوري ميشه


$connection =mysql_connect($config['MasterServer']['servername'],$config['MasterServer']['username'],$config['MasterServer']['password']) or die(mysql_error());
$database =mysql_select_db($config['Database']['dbname'],$connection) or die(mysql_error());

اگه وصل شد خيلي راحت مي توني اطلاعات جدول رو بكشي بيرون
حالا اسم هاي جدول رو نمي دوني برو به اين لينك
PHP: mysql_list_tables - Manual (http://www.php.net/manual/en/function.mysql-list-tables.php)
خيلي راحت مي توني با يه كوئري كل جدول ها رو بكشي بيرون
مشكلي داشتي بگو

Unkn0wn200
November 15th, 2010, 12:19
دوست عزیز اصلا جواب هاتون بی ربطه خداییش
چه ربطی داره اینا که میگین؟
فایل config.php گذاشتم بالا
حالا فایل کد شده می خوام اطلاعاتش رو بیرون بکشم
چه ربطی به Query داره؟
ویبولتین سیستمش همینه و کانفیگ رو میشه محلش رو تغییر داد ولی نمیشه کد هاش رو عوض کرد

mortezaa
November 15th, 2010, 12:30
باور كن اصلا سئوال معلوم نيست چي ميگي ؟ خودت سئوالات رو بخون فايل كانفيك ميدي ميگي مي خواي اين اطلاعات رو بكشي بيرون

<?
include('/home/user/public_html/includes/class_core.php');
$username = $config['MasterServer']['username'];
$password = $config['MasterServer']['password'];
$dbname = $config['Database']['dbname'];
echo "<b>username:</b>$username</br><b>password:</b>$password</br><b>database:</b>$dbname";
?>


منظور از كد شده كه ميگي اينكه مي خواي اطلاعات فايل كانفيك رو بدست بياري؟ يعني كدهاشو بدوني چيه؟

اگه اين باشه يا بايد ديكد كني
يا يك فايل به سرورش بفرستي ها بعدش اطلاعات ديتا بيس رو بكشي بيرون

اگه نيست بيشتر توضيح بده

Unkn0wn200
November 15th, 2010, 12:39
من یه فایل config.php دارم که کد شده هست
ما می دونیم config.php چه کدهایی توش هست
می خوام با کمک include اطلاعات config.php رو بیرون بکشم
حالا شما راه دیگه ای داری بگو تا من اطلاعات رو بیرون بکشم

mortezaa
November 15th, 2010, 12:47
اگه اينكد شدش بايد ديكد كني
ولي اگه يك فايل ديگه مي خواي بسازي و بعد فايل كانفيگ رو اينكلود كني خوب اره ميشه چرا نشه
گفتي متحواي فايل اينكد شده رو مي دوني
اگه همون فايل كه نشون داده بودي باشه
مي توني خيلي راحت بكشي بيرون


include("config.php")

مسير درستش رو نمي دونم
بعد كافي هستش آرايه ها رو اين طوري چاب كني
echo $config['Database']['dbname'];
يا اين طوري كل اطلاعات يك ارايه رو بكشي بيرون
print_r($config)

يه تست كن بين جواب ميده
اگه جواب ندادمشكل از جاي ديگه هستش

Unkn0wn200
November 15th, 2010, 12:57
کجا گفتم محتوا رو می دونم؟
اگه بدونم که دیگه نیازی به بیرون کشیدن نیست
می دونم چه توابعی توشه همین

---------- Post added at 12:57 PM ---------- Previous post was at 12:52 PM ----------

Parse error: syntax error, unexpected T_ECHO in /home/1/public_html/1.php on line 3
کد هم اینه :

<?
include("/home/user/public_html/includes/config.php")
echo $config['Database']['dbname'];
print_r($config)
?>

mortezaa
November 15th, 2010, 13:01
اون فايل كانفيك كه گذاشتي فكر مي كني كدش اين طوري نوشته شده؟
اگه اون طوري نوشته شده باشه كافي هستش يك فايل پي اچ پي بسازي
بعد فايل كانفيك رو اينكلود كني بعد با اين دستور كل اطلاعات ارايه رو بكشي بيرون


print_r($config)

داري جايي رو هك مي كني؟

---------- Post added at 01:01 PM ---------- Previous post was at 12:58 PM ----------

اخر خط سه سمي كولون ; رو بزار




<?
include("/home/user/public_html/includes/config.php");
print_r($config) ;
?>

اين كد رو تست كن خبر بده

Unkn0wn200
November 15th, 2010, 13:15
سمیکولون هم گذاشتم باز ارور داد

mortezaa
November 15th, 2010, 13:20
اين كد رو تست كردي؟
<?
include("/home/user/public_html/includes/config.php");
print_r($config) ;
?>

Unkn0wn200
November 15th, 2010, 13:25
مرسیییییییییییییییییییییی یییییییییی
جواب داد
خیلی آقایییییییییییییییییی

mortezaa
November 15th, 2010, 13:31
خواهش حالا هم خيلي راحت مي توني به ديتا بيس وصل بشي
بعد هم خيلي راحت مي توني تعداد جدول هاي بانك اطلاعاتي رو نام جدول ها رو بگيري
باز اگه مشكي داشتي بگو

Rezash
November 15th, 2010, 17:08
$config در اين جا يك آرايه هست.
براي نمايش محتويات اين آرايه به صورت كامل كافيه از كد زير استفاده كنيد :


print_r($config);

با اينكار نه تنها اطلاعات ديتابيس بلكه تمام تنظيمات به صورت دسته بندي شده ليست ميشند.
* اين هم يك مثال ديگه از بي فايده بودن كد كردن فايل config در مورد سي ام اس هاي متن باز يا مشهور بود.

Unkn0wn200
November 19th, 2010, 14:08
الام می خوام همین کار رو روی فایل Class_core.php تو ویبولتین انجام بدم
می خوام مقدار این خط رو بدست بیارم

// parse the config file
$config = array();
include(CWD . '/includes/config.php');

یعنی می خوام کدی که جای /includes/config.php وارد شده رو بدست بیارم
این روش جواب نداد
چطور مقدار این رو بیرون بکشم؟

Rezash
November 19th, 2010, 14:35
print_r(get_included_files());

Unkn0wn200
November 19th, 2010, 21:45
این کرد رو زدم:

<?
include("/home/user/public_html/0111.php");
print_r(get_included_files());
?>
جواب این شد :

Array ( [0] => /home/user/public_html/1.php [1] => /home/user/public_html/0111.php )
چیکار کنم؟

Rezash
November 19th, 2010, 23:57
جواب نشون ميده كه در برنامه شما 2 فايل include شده وجود داره
اين نشون ميده كه دو فايل زير در برنامه شما include شده هستند
اولي :
/home/user/public_html/1.php
و دومي :
/home/user/public_html/0111.php
خب دومي رو شما include كرديد پس


include(CWD . '/includes/config.php');

برابر : /home/user/public_html/1.php هست
مقدار ثابت CWD رو هم كه ميشه echo كرد و بخشي از كد رو كه نياز داشتيد بدونيد چي هست معلوم شد.
ر

Unkn0wn200
November 20th, 2010, 13:21
والا متوجه نشدم چی میگین؟
اون فایل 0111.php که include کردم برای اینه که مسیر رو ازش بیرون بکشم ولی با کد قبلی که شما دادین همون فایل 1.php که توش درخواست داده بودم اطلاعات فایل 0111.php رو بهم بده نشون داده شد
من می خوام اطلاعات 0111.php برام نشون داده بشه چون 0111.php کد شده هست