Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-conte.../plugins/wp-file-.../lib/php
File: elFinder.class.php
if (!is_array($hashes)) {
[4500] Fix | Delete
$hashes = array($hashes);
[4501] Fix | Delete
}
[4502] Fix | Delete
foreach ($hashes as $hash) {
[4503] Fix | Delete
$lock = elFinder::$commonTempPath . DIRECTORY_SEPARATOR . self::filenameDecontaminate($hash) . '.lock';
[4504] Fix | Delete
if ($this->itemLocked($hash)) {
[4505] Fix | Delete
$cnt = file_get_contents($lock) + 1;
[4506] Fix | Delete
} else {
[4507] Fix | Delete
$cnt = 1;
[4508] Fix | Delete
}
[4509] Fix | Delete
if (file_put_contents($lock, $cnt, LOCK_EX)) {
[4510] Fix | Delete
if ($autoUnlock) {
[4511] Fix | Delete
$this->autoUnlocks[] = $hash;
[4512] Fix | Delete
}
[4513] Fix | Delete
}
[4514] Fix | Delete
}
[4515] Fix | Delete
}
[4516] Fix | Delete
[4517] Fix | Delete
/**
[4518] Fix | Delete
* Do unlock target item
[4519] Fix | Delete
*
[4520] Fix | Delete
* @param string $hash
[4521] Fix | Delete
*
[4522] Fix | Delete
* @return boolean
[4523] Fix | Delete
*/
[4524] Fix | Delete
protected function itemUnlock($hash)
[4525] Fix | Delete
{
[4526] Fix | Delete
if (!$this->itemLocked($hash)) {
[4527] Fix | Delete
return true;
[4528] Fix | Delete
}
[4529] Fix | Delete
$lock = elFinder::$commonTempPath . DIRECTORY_SEPARATOR . $hash . '.lock';
[4530] Fix | Delete
$cnt = file_get_contents($lock);
[4531] Fix | Delete
if (--$cnt < 1) {
[4532] Fix | Delete
unlink($lock);
[4533] Fix | Delete
return true;
[4534] Fix | Delete
} else {
[4535] Fix | Delete
file_put_contents($lock, $cnt, LOCK_EX);
[4536] Fix | Delete
return false;
[4537] Fix | Delete
}
[4538] Fix | Delete
}
[4539] Fix | Delete
[4540] Fix | Delete
/**
[4541] Fix | Delete
* unlock locked items on command completion
[4542] Fix | Delete
*
[4543] Fix | Delete
* @return void
[4544] Fix | Delete
*/
[4545] Fix | Delete
public function itemAutoUnlock()
[4546] Fix | Delete
{
[4547] Fix | Delete
if ($this->autoUnlocks) {
[4548] Fix | Delete
foreach ($this->autoUnlocks as $hash) {
[4549] Fix | Delete
$this->itemUnlock($hash);
[4550] Fix | Delete
}
[4551] Fix | Delete
$this->autoUnlocks = array();
[4552] Fix | Delete
}
[4553] Fix | Delete
}
[4554] Fix | Delete
[4555] Fix | Delete
/**
[4556] Fix | Delete
* Ensure directories recursively
[4557] Fix | Delete
*
[4558] Fix | Delete
* @param object $volume Volume object
[4559] Fix | Delete
* @param string $target Target hash
[4560] Fix | Delete
* @param array $dirs Array of directory tree to ensure
[4561] Fix | Delete
* @param string $path Relative path form target hash
[4562] Fix | Delete
*
[4563] Fix | Delete
* @return array|false array('stats' => array([stat of maked directory]), 'hashes' => array('[path]' => '[hash]'), 'makes' => array([New directory hashes]), 'error' => array([Error name]))
[4564] Fix | Delete
* @author Naoki Sawada
[4565] Fix | Delete
**/
[4566] Fix | Delete
protected function ensureDirsRecursively($volume, $target, $dirs, $path = '')
[4567] Fix | Delete
{
[4568] Fix | Delete
$res = array('stats' => array(), 'hashes' => array(), 'makes' => array(), 'error' => array());
[4569] Fix | Delete
foreach ($dirs as $name => $sub) {
[4570] Fix | Delete
$name = (string)$name;
[4571] Fix | Delete
$dir = $newDir = null;
[4572] Fix | Delete
if ((($parent = $volume->realpath($target)) && ($dir = $volume->dir($volume->getHash($parent, $name)))) || ($newDir = $volume->mkdir($target, $name))) {
[4573] Fix | Delete
$_path = $path . '/' . $name;
[4574] Fix | Delete
if ($newDir) {
[4575] Fix | Delete
$res['makes'][] = $newDir['hash'];
[4576] Fix | Delete
$dir = $newDir;
[4577] Fix | Delete
}
[4578] Fix | Delete
$res['stats'][] = $dir;
[4579] Fix | Delete
$res['hashes'][$_path] = $dir['hash'];
[4580] Fix | Delete
if (count($sub)) {
[4581] Fix | Delete
$res = array_merge_recursive($res, $this->ensureDirsRecursively($volume, $dir['hash'], $sub, $_path));
[4582] Fix | Delete
}
[4583] Fix | Delete
} else {
[4584] Fix | Delete
$res['error'][] = $name;
[4585] Fix | Delete
}
[4586] Fix | Delete
}
[4587] Fix | Delete
return $res;
[4588] Fix | Delete
}
[4589] Fix | Delete
[4590] Fix | Delete
/**
[4591] Fix | Delete
* Sets the toast error handler.
[4592] Fix | Delete
*
[4593] Fix | Delete
* @param array $opts The options
[4594] Fix | Delete
*/
[4595] Fix | Delete
public function setToastErrorHandler($opts)
[4596] Fix | Delete
{
[4597] Fix | Delete
$this->toastParams = $this->toastParamsDefault;
[4598] Fix | Delete
if (!$opts) {
[4599] Fix | Delete
restore_error_handler();
[4600] Fix | Delete
} else {
[4601] Fix | Delete
$this->toastParams = array_merge($this->toastParams, $opts);
[4602] Fix | Delete
set_error_handler(array($this, 'toastErrorHandler'));
[4603] Fix | Delete
}
[4604] Fix | Delete
}
[4605] Fix | Delete
[4606] Fix | Delete
/**
[4607] Fix | Delete
* String encode convert to UTF-8
[4608] Fix | Delete
*
[4609] Fix | Delete
* @param string $str Input string
[4610] Fix | Delete
*
[4611] Fix | Delete
* @return string UTF-8 string
[4612] Fix | Delete
*/
[4613] Fix | Delete
public function utf8Encode($str)
[4614] Fix | Delete
{
[4615] Fix | Delete
static $mbencode = null;
[4616] Fix | Delete
$str = (string) $str;
[4617] Fix | Delete
if (@iconv('utf-8', 'utf-8//IGNORE', $str) === $str) {
[4618] Fix | Delete
return $str;
[4619] Fix | Delete
}
[4620] Fix | Delete
[4621] Fix | Delete
if ($this->utf8Encoder) {
[4622] Fix | Delete
return $this->utf8Encoder($str);
[4623] Fix | Delete
}
[4624] Fix | Delete
[4625] Fix | Delete
if ($mbencode === null) {
[4626] Fix | Delete
$mbencode = function_exists('mb_convert_encoding') && function_exists('mb_detect_encoding');
[4627] Fix | Delete
}
[4628] Fix | Delete
[4629] Fix | Delete
if ($mbencode) {
[4630] Fix | Delete
if ($enc = mb_detect_encoding($str, mb_detect_order(), true)) {
[4631] Fix | Delete
$_str = mb_convert_encoding($str, 'UTF-8', $enc);
[4632] Fix | Delete
if (@iconv('utf-8', 'utf-8//IGNORE', $_str) === $_str) {
[4633] Fix | Delete
return $_str;
[4634] Fix | Delete
}
[4635] Fix | Delete
}
[4636] Fix | Delete
}
[4637] Fix | Delete
return utf8_encode($str);
[4638] Fix | Delete
}
[4639] Fix | Delete
[4640] Fix | Delete
/***************************************************************************/
[4641] Fix | Delete
/* static utils */
[4642] Fix | Delete
/***************************************************************************/
[4643] Fix | Delete
[4644] Fix | Delete
/**
[4645] Fix | Delete
* Return full version of API that this connector supports all functions
[4646] Fix | Delete
*
[4647] Fix | Delete
* @return string
[4648] Fix | Delete
*/
[4649] Fix | Delete
public static function getApiFullVersion()
[4650] Fix | Delete
{
[4651] Fix | Delete
return (string)self::$ApiVersion . '.' . (string)self::$ApiRevision;
[4652] Fix | Delete
}
[4653] Fix | Delete
[4654] Fix | Delete
/**
[4655] Fix | Delete
* Return self::$commonTempPath
[4656] Fix | Delete
*
[4657] Fix | Delete
* @return string The common temporary path.
[4658] Fix | Delete
*/
[4659] Fix | Delete
public static function getCommonTempPath()
[4660] Fix | Delete
{
[4661] Fix | Delete
return self::$commonTempPath;
[4662] Fix | Delete
}
[4663] Fix | Delete
[4664] Fix | Delete
/**
[4665] Fix | Delete
* Return Is Animation Gif
[4666] Fix | Delete
*
[4667] Fix | Delete
* @param string $path server local path of target image
[4668] Fix | Delete
*
[4669] Fix | Delete
* @return bool
[4670] Fix | Delete
*/
[4671] Fix | Delete
public static function isAnimationGif($path)
[4672] Fix | Delete
{
[4673] Fix | Delete
list(, , $type) = getimagesize($path);
[4674] Fix | Delete
switch ($type) {
[4675] Fix | Delete
case IMAGETYPE_GIF:
[4676] Fix | Delete
break;
[4677] Fix | Delete
default:
[4678] Fix | Delete
return false;
[4679] Fix | Delete
}
[4680] Fix | Delete
[4681] Fix | Delete
$imgcnt = 0;
[4682] Fix | Delete
$fp = fopen($path, 'rb');
[4683] Fix | Delete
fread($fp, 4);
[4684] Fix | Delete
$c = fread($fp, 1);
[4685] Fix | Delete
if (ord($c) != 0x39) { // GIF89a
[4686] Fix | Delete
return false;
[4687] Fix | Delete
}
[4688] Fix | Delete
[4689] Fix | Delete
while (!feof($fp)) {
[4690] Fix | Delete
do {
[4691] Fix | Delete
$c = fread($fp, 1);
[4692] Fix | Delete
} while (ord($c) != 0x21 && !feof($fp));
[4693] Fix | Delete
[4694] Fix | Delete
if (feof($fp)) {
[4695] Fix | Delete
break;
[4696] Fix | Delete
}
[4697] Fix | Delete
[4698] Fix | Delete
$c2 = fread($fp, 2);
[4699] Fix | Delete
if (bin2hex($c2) == "f904") {
[4700] Fix | Delete
$imgcnt++;
[4701] Fix | Delete
if ($imgcnt === 2) {
[4702] Fix | Delete
break;
[4703] Fix | Delete
}
[4704] Fix | Delete
}
[4705] Fix | Delete
[4706] Fix | Delete
if (feof($fp)) {
[4707] Fix | Delete
break;
[4708] Fix | Delete
}
[4709] Fix | Delete
}
[4710] Fix | Delete
[4711] Fix | Delete
if ($imgcnt > 1) {
[4712] Fix | Delete
return true;
[4713] Fix | Delete
} else {
[4714] Fix | Delete
return false;
[4715] Fix | Delete
}
[4716] Fix | Delete
}
[4717] Fix | Delete
[4718] Fix | Delete
/**
[4719] Fix | Delete
* Return Is Animation Png
[4720] Fix | Delete
*
[4721] Fix | Delete
* @param string $path server local path of target image
[4722] Fix | Delete
*
[4723] Fix | Delete
* @return bool
[4724] Fix | Delete
*/
[4725] Fix | Delete
public static function isAnimationPng($path)
[4726] Fix | Delete
{
[4727] Fix | Delete
list(, , $type) = getimagesize($path);
[4728] Fix | Delete
switch ($type) {
[4729] Fix | Delete
case IMAGETYPE_PNG:
[4730] Fix | Delete
break;
[4731] Fix | Delete
default:
[4732] Fix | Delete
return false;
[4733] Fix | Delete
}
[4734] Fix | Delete
[4735] Fix | Delete
$fp = fopen($path, 'rb');
[4736] Fix | Delete
$img_bytes = fread($fp, 1024);
[4737] Fix | Delete
fclose($fp);
[4738] Fix | Delete
if ($img_bytes) {
[4739] Fix | Delete
if (strpos(substr($img_bytes, 0, strpos($img_bytes, 'IDAT')), 'acTL') !== false) {
[4740] Fix | Delete
return true;
[4741] Fix | Delete
}
[4742] Fix | Delete
}
[4743] Fix | Delete
return false;
[4744] Fix | Delete
}
[4745] Fix | Delete
[4746] Fix | Delete
/**
[4747] Fix | Delete
* Return Is seekable stream resource
[4748] Fix | Delete
*
[4749] Fix | Delete
* @param resource $resource
[4750] Fix | Delete
*
[4751] Fix | Delete
* @return bool
[4752] Fix | Delete
*/
[4753] Fix | Delete
public static function isSeekableStream($resource)
[4754] Fix | Delete
{
[4755] Fix | Delete
$metadata = stream_get_meta_data($resource);
[4756] Fix | Delete
return $metadata['seekable'];
[4757] Fix | Delete
}
[4758] Fix | Delete
[4759] Fix | Delete
/**
[4760] Fix | Delete
* Rewind stream resource
[4761] Fix | Delete
*
[4762] Fix | Delete
* @param resource $resource
[4763] Fix | Delete
*
[4764] Fix | Delete
* @return void
[4765] Fix | Delete
*/
[4766] Fix | Delete
public static function rewind($resource)
[4767] Fix | Delete
{
[4768] Fix | Delete
self::isSeekableStream($resource) && rewind($resource);
[4769] Fix | Delete
}
[4770] Fix | Delete
[4771] Fix | Delete
/**
[4772] Fix | Delete
* Determines whether the specified resource is seekable url.
[4773] Fix | Delete
*
[4774] Fix | Delete
* @param <type> $resource The resource
[4775] Fix | Delete
*
[4776] Fix | Delete
* @return boolean True if the specified resource is seekable url, False otherwise.
[4777] Fix | Delete
*/
[4778] Fix | Delete
public static function isSeekableUrl($resource)
[4779] Fix | Delete
{
[4780] Fix | Delete
$id = (int)$resource;
[4781] Fix | Delete
if (isset(elFinder::$seekableUrlFps[$id])) {
[4782] Fix | Delete
return elFinder::$seekableUrlFps[$id];
[4783] Fix | Delete
}
[4784] Fix | Delete
return null;
[4785] Fix | Delete
}
[4786] Fix | Delete
[4787] Fix | Delete
/**
[4788] Fix | Delete
* serialize and base64_encode of session data (If needed)
[4789] Fix | Delete
*
[4790] Fix | Delete
* @deprecated
[4791] Fix | Delete
*
[4792] Fix | Delete
* @param mixed $var target variable
[4793] Fix | Delete
*
[4794] Fix | Delete
* @author Naoki Sawada
[4795] Fix | Delete
* @return mixed|string
[4796] Fix | Delete
*/
[4797] Fix | Delete
public static function sessionDataEncode($var)
[4798] Fix | Delete
{
[4799] Fix | Delete
if (self::$base64encodeSessionData) {
[4800] Fix | Delete
$var = base64_encode(serialize($var));
[4801] Fix | Delete
}
[4802] Fix | Delete
return $var;
[4803] Fix | Delete
}
[4804] Fix | Delete
[4805] Fix | Delete
/**
[4806] Fix | Delete
* base64_decode and unserialize of session data (If needed)
[4807] Fix | Delete
*
[4808] Fix | Delete
* @deprecated
[4809] Fix | Delete
*
[4810] Fix | Delete
* @param mixed $var target variable
[4811] Fix | Delete
* @param bool $checkIs data type for check (array|string|object|int)
[4812] Fix | Delete
*
[4813] Fix | Delete
* @author Naoki Sawada
[4814] Fix | Delete
* @return bool|mixed
[4815] Fix | Delete
*/
[4816] Fix | Delete
public static function sessionDataDecode(&$var, $checkIs = null)
[4817] Fix | Delete
{
[4818] Fix | Delete
if (self::$base64encodeSessionData) {
[4819] Fix | Delete
$data = unserialize(base64_decode($var));
[4820] Fix | Delete
} else {
[4821] Fix | Delete
$data = $var;
[4822] Fix | Delete
}
[4823] Fix | Delete
$chk = true;
[4824] Fix | Delete
if ($checkIs) {
[4825] Fix | Delete
switch ($checkIs) {
[4826] Fix | Delete
case 'array':
[4827] Fix | Delete
$chk = is_array($data);
[4828] Fix | Delete
break;
[4829] Fix | Delete
case 'string':
[4830] Fix | Delete
$chk = is_string($data);
[4831] Fix | Delete
break;
[4832] Fix | Delete
case 'object':
[4833] Fix | Delete
$chk = is_object($data);
[4834] Fix | Delete
break;
[4835] Fix | Delete
case 'int':
[4836] Fix | Delete
$chk = is_int($data);
[4837] Fix | Delete
break;
[4838] Fix | Delete
}
[4839] Fix | Delete
}
[4840] Fix | Delete
if (!$chk) {
[4841] Fix | Delete
unset($var);
[4842] Fix | Delete
return false;
[4843] Fix | Delete
}
[4844] Fix | Delete
return $data;
[4845] Fix | Delete
}
[4846] Fix | Delete
[4847] Fix | Delete
/**
[4848] Fix | Delete
* Call session_write_close() if session is restarted
[4849] Fix | Delete
*
[4850] Fix | Delete
* @deprecated
[4851] Fix | Delete
* @return void
[4852] Fix | Delete
*/
[4853] Fix | Delete
public static function sessionWrite()
[4854] Fix | Delete
{
[4855] Fix | Delete
if (session_id()) {
[4856] Fix | Delete
session_write_close();
[4857] Fix | Delete
}
[4858] Fix | Delete
}
[4859] Fix | Delete
[4860] Fix | Delete
/**
[4861] Fix | Delete
* Return elFinder static variable
[4862] Fix | Delete
*
[4863] Fix | Delete
* @param $key
[4864] Fix | Delete
*
[4865] Fix | Delete
* @return mixed|null
[4866] Fix | Delete
*/
[4867] Fix | Delete
public static function getStaticVar($key)
[4868] Fix | Delete
{
[4869] Fix | Delete
return isset(elFinder::$$key) ? elFinder::$$key : null;
[4870] Fix | Delete
}
[4871] Fix | Delete
[4872] Fix | Delete
/**
[4873] Fix | Delete
* Extend PHP execution time limit and also check connection is aborted
[4874] Fix | Delete
*
[4875] Fix | Delete
* @param Int $time
[4876] Fix | Delete
*
[4877] Fix | Delete
* @return void
[4878] Fix | Delete
* @throws elFinderAbortException
[4879] Fix | Delete
*/
[4880] Fix | Delete
public static function extendTimeLimit($time = null)
[4881] Fix | Delete
{
[4882] Fix | Delete
static $defLimit = null;
[4883] Fix | Delete
if (!self::aborted()) {
[4884] Fix | Delete
if (is_null($defLimit)) {
[4885] Fix | Delete
$defLimit = ini_get('max_execution_time');
[4886] Fix | Delete
}
[4887] Fix | Delete
if ($defLimit != 0) {
[4888] Fix | Delete
$time = is_null($time) ? $defLimit : max($defLimit, $time);
[4889] Fix | Delete
set_time_limit($time);
[4890] Fix | Delete
}
[4891] Fix | Delete
} else {
[4892] Fix | Delete
throw new elFinderAbortException();
[4893] Fix | Delete
}
[4894] Fix | Delete
}
[4895] Fix | Delete
[4896] Fix | Delete
/**
[4897] Fix | Delete
* Check connection is aborted
[4898] Fix | Delete
* Script stop immediately if connection aborted
[4899] Fix | Delete
*
[4900] Fix | Delete
* @return void
[4901] Fix | Delete
* @throws elFinderAbortException
[4902] Fix | Delete
*/
[4903] Fix | Delete
public static function checkAborted()
[4904] Fix | Delete
{
[4905] Fix | Delete
elFinder::extendTimeLimit();
[4906] Fix | Delete
}
[4907] Fix | Delete
[4908] Fix | Delete
/**
[4909] Fix | Delete
* Return bytes from php.ini value
[4910] Fix | Delete
*
[4911] Fix | Delete
* @param string $iniName
[4912] Fix | Delete
* @param string $val
[4913] Fix | Delete
*
[4914] Fix | Delete
* @return number
[4915] Fix | Delete
*/
[4916] Fix | Delete
public static function getIniBytes($iniName = '', $val = '')
[4917] Fix | Delete
{
[4918] Fix | Delete
if ($iniName !== '') {
[4919] Fix | Delete
$val = ini_get($iniName);
[4920] Fix | Delete
if ($val === false) {
[4921] Fix | Delete
return 0;
[4922] Fix | Delete
}
[4923] Fix | Delete
}
[4924] Fix | Delete
$val = trim($val, "bB \t\n\r\0\x0B");
[4925] Fix | Delete
$last = strtolower($val[strlen($val) - 1]);
[4926] Fix | Delete
$val = sprintf('%u', $val);
[4927] Fix | Delete
switch ($last) {
[4928] Fix | Delete
case 'y':
[4929] Fix | Delete
$val = elFinder::xKilobyte($val);
[4930] Fix | Delete
case 'z':
[4931] Fix | Delete
$val = elFinder::xKilobyte($val);
[4932] Fix | Delete
case 'e':
[4933] Fix | Delete
$val = elFinder::xKilobyte($val);
[4934] Fix | Delete
case 'p':
[4935] Fix | Delete
$val = elFinder::xKilobyte($val);
[4936] Fix | Delete
case 't':
[4937] Fix | Delete
$val = elFinder::xKilobyte($val);
[4938] Fix | Delete
case 'g':
[4939] Fix | Delete
$val = elFinder::xKilobyte($val);
[4940] Fix | Delete
case 'm':
[4941] Fix | Delete
$val = elFinder::xKilobyte($val);
[4942] Fix | Delete
case 'k':
[4943] Fix | Delete
$val = elFinder::xKilobyte($val);
[4944] Fix | Delete
}
[4945] Fix | Delete
return $val;
[4946] Fix | Delete
}
[4947] Fix | Delete
[4948] Fix | Delete
/**
[4949] Fix | Delete
* Return X 1KByte
[4950] Fix | Delete
*
[4951] Fix | Delete
* @param integer|string $val The value
[4952] Fix | Delete
*
[4953] Fix | Delete
* @return number
[4954] Fix | Delete
*/
[4955] Fix | Delete
public static function xKilobyte($val)
[4956] Fix | Delete
{
[4957] Fix | Delete
if (strpos((string)$val * 1024, 'E') !== false) {
[4958] Fix | Delete
if (strpos((string)$val * 1.024, 'E') === false) {
[4959] Fix | Delete
$val *= 1.024;
[4960] Fix | Delete
}
[4961] Fix | Delete
$val .= '000';
[4962] Fix | Delete
} else {
[4963] Fix | Delete
$val *= 1024;
[4964] Fix | Delete
}
[4965] Fix | Delete
return $val;
[4966] Fix | Delete
}
[4967] Fix | Delete
[4968] Fix | Delete
/**
[4969] Fix | Delete
* Get script url.
[4970] Fix | Delete
*
[4971] Fix | Delete
* @return string full URL
[4972] Fix | Delete
* @author Naoki Sawada
[4973] Fix | Delete
*/
[4974] Fix | Delete
public static function getConnectorUrl()
[4975] Fix | Delete
{
[4976] Fix | Delete
if (defined('ELFINDER_CONNECTOR_URL')) {
[4977] Fix | Delete
return ELFINDER_CONNECTOR_URL;
[4978] Fix | Delete
}
[4979] Fix | Delete
[4980] Fix | Delete
$https = (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off');
[4981] Fix | Delete
$url = ($https ? 'https://' : 'http://')
[4982] Fix | Delete
. $_SERVER['SERVER_NAME'] // host
[4983] Fix | Delete
. ((empty($_SERVER['SERVER_PORT']) || (!$https && $_SERVER['SERVER_PORT'] == 80) || ($https && $_SERVER['SERVER_PORT'] == 443)) ? '' : (':' . $_SERVER['SERVER_PORT'])) // port
[4984] Fix | Delete
. $_SERVER['REQUEST_URI']; // path & query
[4985] Fix | Delete
list($url) = explode('?', $url);
[4986] Fix | Delete
[4987] Fix | Delete
return $url;
[4988] Fix | Delete
}
[4989] Fix | Delete
[4990] Fix | Delete
/**
[4991] Fix | Delete
* Get stream resource pointer by URL
[4992] Fix | Delete
*
[4993] Fix | Delete
* @param array $data array('target'=>'URL', 'headers' => array())
[4994] Fix | Delete
* @param int $redirectLimit
[4995] Fix | Delete
*
[4996] Fix | Delete
* @return resource|boolean
[4997] Fix | Delete
* @author Naoki Sawada
[4998] Fix | Delete
*/
[4999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function