ftp_base::get( $remotefile, $localfile = NULL, $rest = 0 )
- Source
wp-admin/includes/class-ftp.php:560
Compatibility
- WordPress
- core
- PHP
- 7.4–8.6-dev
- 6.7.7
- 6.8.8
- 6.9.7
- 7.0.4
- 7.1.0
Present in every tracked release (6.7.7 to 7.1.0), and compiles on PHP 7.4 through 8.6-dev.
Parameters
$remotefile$localfileoptional- Default:
NULL $restoptional- Default:
0
Performance profile
How much work a call to ftp_base::get() does, and what it touches: the algorithmic scaling, the Zend instruction count per call across PHP versions, the hooks it hands control to, and the core code that calls it. Measured from the compiled opcodes, not a stopwatch, so every number is identical on any machine running the same PHP version, and every function in core is ranked by cost.
- Cost class
- Heavy
- Scaling
- Constant
- Instructions
- 27–89
- Plugin surface
- None
- Called by
- 1
Reads or writes the filesystem via file_exists().
No loop in the body: the same number of instructions runs whatever you pass in.
Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 116.
Nothing here hands control to plugin code.
1 place in core call this, so the cost is paid more often than your own code shows.
What it touches
- filesystemfilesystem access
file_exists()called directly
What one call costs · 74 distinct outcomes
One number would be a lie: the work depends on which branch runs. These are every distinct cost ftp_base::get() can have, taken from its control-flow graph on PHP 8.5.
| When | Instructions | Calls it makes |
|---|---|---|
!file_exists() | 27–28 | file_exists(), fopen(), ->PushError() |
file_exists() | 30–31 | file_exists(), ->SendMSG(), fopen(), ->PushError() |
!file_exists() && !->_data_prepare() | 39–45 | file_exists(), fopen(), pathinfo(), ->_data_prepare(), fclose() |
file_exists() && !->_data_prepare() | 42–48 | file_exists(), ->SendMSG(), fopen(), pathinfo(), ->_data_prepare(), fclose() |
!file_exists() && $rest != 0 && !->_data_prepare() | 45–49 | file_exists(), fopen(), fseek(), pathinfo(), ->_data_prepare(), fclose() |
file_exists() && $rest != 0 && !->_data_prepare() | 48–52 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), ->_data_prepare(), fclose() |
!file_exists() && !->_data_prepare() | 49–53 | file_exists(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), fclose() |
!file_exists() && ->_data_prepare() && !->_exec() | 49–57 | file_exists(), fopen(), pathinfo(), ->_data_prepare(), ->_exec(), ->_data_close(), fclose() |
file_exists() && !->_data_prepare() | 52–56 | file_exists(), ->SendMSG(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), fclose() |
!file_exists() && ->_data_prepare() && ->_exec() && !->_checkCode() | 52–60 | file_exists(), fopen(), pathinfo(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
file_exists() && ->_data_prepare() && !->_exec() | 52–60 | file_exists(), ->SendMSG(), fopen(), pathinfo(), ->_data_prepare(), ->_exec(), ->_data_close(), fclose() |
!file_exists() && ->_data_prepare() && $rest != 0 && !->_exec() | 54–60 | file_exists(), fopen(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_data_close(), fclose() |
62 further outcomes, up to 89 instructions
!file_exists() && $rest != 0 && !->_data_prepare() | 55–57 | file_exists(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), fclose() |
!file_exists() && $rest != 0 && ->_data_prepare() && !->_exec() | 55–61 | file_exists(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->_exec(), ->_data_close(), fclose() |
file_exists() && ->_data_prepare() && ->_exec() && !->_checkCode() | 55–63 | file_exists(), ->SendMSG(), fopen(), pathinfo(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
!file_exists() && ->_data_prepare() && $rest != 0 && ->_exec() && !->_checkCode() | 57–63 | file_exists(), fopen(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
file_exists() && ->_data_prepare() && $rest != 0 && !->_exec() | 57–63 | file_exists(), ->SendMSG(), fopen(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_data_close(), fclose() |
file_exists() && $rest != 0 && !->_data_prepare() | 58–60 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), fclose() |
!file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && !->_checkCode() | 58–64 | file_exists(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
file_exists() && $rest != 0 && ->_data_prepare() && !->_exec() | 58–64 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->_exec(), ->_data_close(), fclose() |
!file_exists() && ->_data_prepare() && !->_exec() | 59–65 | file_exists(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_data_close(), fclose() |
!file_exists() && $rest != 0 && ->_data_prepare() && !->_exec() | 60–64 | file_exists(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_data_close(), fclose() |
!file_exists() && ->_data_prepare() && ->_exec() && ->_checkCode() && !->_readmsg() | 60–68 | file_exists(), fopen(), pathinfo(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
file_exists() && ->_data_prepare() && $rest != 0 && ->_exec() && !->_checkCode() | 60–66 | file_exists(), ->SendMSG(), fopen(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && !->_checkCode() | 61–67 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
!file_exists() && ->_data_prepare() && ->_exec() && !->_checkCode() | 62–68 | file_exists(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
file_exists() && ->_data_prepare() && !->_exec() | 62–68 | file_exists(), ->SendMSG(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_data_close(), fclose() |
!file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && !->_checkCode() | 63–67 | file_exists(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
file_exists() && $rest != 0 && ->_data_prepare() && !->_exec() | 63–67 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_data_close(), fclose() |
!file_exists() && ->_data_prepare() && ->_exec() && ->_checkCode() && ->_readmsg() | 63–71 | file_exists(), fopen(), pathinfo(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
file_exists() && ->_data_prepare() && ->_exec() && ->_checkCode() && !->_readmsg() | 63–71 | file_exists(), ->SendMSG(), fopen(), pathinfo(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
!file_exists() && ->_data_prepare() && $rest != 0 && !->_exec() | 64–68 | file_exists(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_data_close(), fclose() |
!file_exists() && $rest != 0 && ->_data_prepare() && !->_exec() | 65–69 | file_exists(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_data_close(), fclose() |
file_exists() && ->_data_prepare() && ->_exec() && !->_checkCode() | 65–71 | file_exists(), ->SendMSG(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
!file_exists() && ->_data_prepare() && $rest != 0 && ->_exec() && ->_checkCode() && !->_readmsg() | 65–71 | file_exists(), fopen(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
!file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && !->_readmsg() | 66–72 | file_exists(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && !->_checkCode() | 66–70 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
file_exists() && ->_data_prepare() && ->_exec() && ->_checkCode() && ->_readmsg() | 66–74 | file_exists(), ->SendMSG(), fopen(), pathinfo(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
!file_exists() && ->_data_prepare() && $rest != 0 && ->_exec() && !->_checkCode() | 67–71 | file_exists(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
file_exists() && ->_data_prepare() && $rest != 0 && !->_exec() | 67–71 | file_exists(), ->SendMSG(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_data_close(), fclose() |
!file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && !->_checkCode() | 68–72 | file_exists(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
file_exists() && $rest != 0 && ->_data_prepare() && !->_exec() | 68–72 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_data_close(), fclose() |
!file_exists() && ->_data_prepare() && $rest != 0 && ->_exec() && ->_checkCode() && ->_readmsg() | 68–74 | file_exists(), fopen(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
file_exists() && ->_data_prepare() && $rest != 0 && ->_exec() && ->_checkCode() && !->_readmsg() | 68–74 | file_exists(), ->SendMSG(), fopen(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
!file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && ->_readmsg() | 69–75 | file_exists(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && !->_readmsg() | 69–75 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
!file_exists() && $rest != 0 && ->_data_prepare() && !->_exec() | 70–72 | file_exists(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_data_close(), fclose() |
!file_exists() && ->_data_prepare() && ->_exec() && ->_checkCode() && !->_readmsg() | 70–76 | file_exists(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
file_exists() && ->_data_prepare() && $rest != 0 && ->_exec() && !->_checkCode() | 70–74 | file_exists(), ->SendMSG(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && !->_checkCode() | 71–75 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
!file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && !->_readmsg() | 71–75 | file_exists(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
file_exists() && ->_data_prepare() && $rest != 0 && ->_exec() && ->_checkCode() && ->_readmsg() | 71–77 | file_exists(), ->SendMSG(), fopen(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && ->_readmsg() | 72–78 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
!file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && !->_checkCode() | 73–75 | file_exists(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
file_exists() && $rest != 0 && ->_data_prepare() && !->_exec() | 73–75 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_data_close(), fclose() |
!file_exists() && ->_data_prepare() && ->_exec() && ->_checkCode() && ->_readmsg() | 73–79 | file_exists(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
file_exists() && ->_data_prepare() && ->_exec() && ->_checkCode() && !->_readmsg() | 73–79 | file_exists(), ->SendMSG(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
!file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && ->_readmsg() | 74–78 | file_exists(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && !->_readmsg() | 74–78 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
!file_exists() && ->_data_prepare() && $rest != 0 && ->_exec() && ->_checkCode() && !->_readmsg() | 75–79 | file_exists(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
!file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && !->_readmsg() | 76–80 | file_exists(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && !->_checkCode() | 76–78 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_close(), fclose() |
file_exists() && ->_data_prepare() && ->_exec() && ->_checkCode() && ->_readmsg() | 76–82 | file_exists(), ->SendMSG(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && ->_readmsg() | 77–81 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
!file_exists() && ->_data_prepare() && $rest != 0 && ->_exec() && ->_checkCode() && ->_readmsg() | 78–82 | file_exists(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
file_exists() && ->_data_prepare() && $rest != 0 && ->_exec() && ->_checkCode() && !->_readmsg() | 78–82 | file_exists(), ->SendMSG(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
!file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && ->_readmsg() | 79–83 | file_exists(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && !->_readmsg() | 79–83 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
!file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && !->_readmsg() | 81–83 | file_exists(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
file_exists() && ->_data_prepare() && $rest != 0 && ->_exec() && ->_checkCode() && ->_readmsg() | 81–85 | file_exists(), ->SendMSG(), fopen(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && ->_readmsg() | 82–86 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
!file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && ->_readmsg() | 84–86 | file_exists(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && !->_readmsg() | 84–86 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg() |
file_exists() && $rest != 0 && ->_data_prepare() && ->_exec() && ->_checkCode() && ->_readmsg() | 87–89 | file_exists(), ->SendMSG(), fopen(), fseek(), pathinfo(), strtoupper(), ->_data_prepare(), ->restore(), ->_exec(), ->_checkCode(), ->_data_read(), fclose(), ->_data_close(), ->_readmsg(), ->_checkCode() |
Across PHP versions
| PHP | Compiled | Executed | Branches | Notes |
|---|---|---|---|---|
| 8.6-dev | 116 | 27–89 | 15 | |
| 8.5 | 116 | 27–89 | 15 | |
| 8.4 | 116 | 27–89 | 15 | 3 fewer instructions than PHP 8.3 |
| 8.3 | 119 | 27–92 | 15 | |
| 8.2 | 119 | 27–92 | 15 | 1 more instruction than PHP 8.1 |
| 8.1 | 118 | 27–91 | 15 | |
| 7.4 | 118 | 27–91 | 15 |
An instruction is not a fixed amount of time, so a matching count is not necessarily the same speed; what it rules out is a difference in the work itself.
Uses · 9
- ftp_base::SendMSG()
- ftp_base::PushError()
- ftp_base::_data_prepare()
- ftp_base::restore()
- ftp_base::_exec()
- ftp_base::_data_close()
- ftp_base::_checkCode()
- ftp_base::_data_read()
- ftp_base::_readmsg()
Used by · 1
Source code
function get($remotefile, $localfile=NULL, $rest=0) { if(is_null($localfile)) $localfile=$remotefile; if (@file_exists($localfile)) $this->SendMSG("Warning : local file will be overwritten"); $fp = @fopen($localfile, "w"); if (!$fp) { $this->PushError("get","cannot open local file", "Cannot create \"".$localfile."\""); return FALSE; } if($this->_can_restore and $rest!=0) fseek($fp, $rest); $pi=pathinfo($remotefile); if($this->_type==FTP_ASCII or ($this->_type==FTP_AUTOASCII and in_array(strtoupper($pi["extension"]), $this->AutoAsciiExt))) $mode=FTP_ASCII; else $mode=FTP_BINARY; if(!$this->_data_prepare($mode)) { fclose($fp); return FALSE; } if($this->_can_restore and $rest!=0) $this->restore($rest); if(!$this->_exec("RETR ".$remotefile, "get")) { $this->_data_close(); fclose($fp); return FALSE; } if(!$this->_checkCode()) { $this->_data_close(); fclose($fp); return FALSE; } $out=$this->_data_read($mode, $fp); fclose($fp); $this->_data_close(); if(!$this->_readmsg()) return FALSE; if(!$this->_checkCode()) return FALSE; return $out; }Changelog
Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
About this page
- Parsed data
- Generated from the wordpress-develop 7.1.0 tag, from
src/wp-admin/includes/class-ftp.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it. - Corrections
- Something wrong on this page? Report it and it gets fixed in the next regeneration.