Php 在类方法上返回布尔值
我有一个有几个方法的类Php 在类方法上返回布尔值,php,Php,我有一个有几个方法的类 deleteUploadedFile()和currentUploadedFiles() currentUploadedFiles(),基本上在会话数组上循环,并在屏幕上显示它,如图所示。代码示例: function currentUploadedFiles() { if(isset($_SESSION['fileArray']) && $this->count > 0) { ech
deleteUploadedFile()
和currentUploadedFiles()
currentUploadedFiles(),基本上在会话数组上循环,并在屏幕上显示它,如图所示。代码示例:
function currentUploadedFiles()
{
if(isset($_SESSION['fileArray']) && $this->count > 0)
{
echo '<p style="clear:both">Current files uploaded list:</p>';
echo '<ol>';
foreach($_SESSION['fileListing'] as $key => $value )
{
echo '<li>'. $value .' <a href="'.$_SERVER["PHP_SELF"].'?id='.$key.'">[Remove File]</a></li>';
}
echo "</ol>\n\r";
echo "<p> Current file size allowance: ". $this->_returnRemainingSessionFileSize() ." of 8 MB";
} else {
echo '<p style="clear:both">No files have been uploaded yet</p>';
}
if($this->deleteUploadedFile() === true)
{
echo '<p>File has now been deleted from our records.</p>';
}
}
函数currentUploadedFiles()
{
如果(isset($\u会话['fileArray'])&&&$this->count>0)
{
echo“当前上传的文件列表:
”;
回声';
foreach($\会话['fileListing']作为$key=>$value)
{
回显“”.$value.“ ”;
}
回显“\n\r”;
echo“当前文件大小允许值:“.$this->\u returnRemainingSessionFileSize()”为8 MB;
}否则{
echo'尚未上载任何文件;
}
如果($this->deleteUploadedFile()==true)
{
echo文件现在已从我们的记录中删除。
;
}
}
deleteUploadedFile()方法,基本上在提交表单时,它会从服务器上删除文件并从会话数组中删除条目。示例代码:
function deleteUploadedFile()
{
(int) $id = $_GET['id'];
(bool) $deleted = false;
if (file_exists($this->target_path.'/'.$_SESSION['fileArray'][$id]))
{
$_SESSION['fileSize'] -= $this->_checkSessionFileSize($id);
if (unlink($this->target_path.'/'.$_SESSION['fileArray'][$id]))
{
$deleted = true; //'<p>File has now been deleted from our records.</p>';
unset($_SESSION['fileArray'][$id]);
unset($_SESSION['fileListing'][$id]);
}
}
return $deleted;
}
函数deleteUploadedFile()
{
(int)$id=$_GET['id'];
(bool)$deleted=false;
如果(文件_存在($this->target_path.'/'.$_SESSION['fileArray'][$id]))
{
$\u SESSION['fileSize']-=$this->\u checksessionlesize($id);
if(取消链接($this->target_path.'/'.$_会话['fileArray'][$id]))
{
$deleted=true;/'文件现在已从我们的记录中删除。';
取消设置($_会话['fileArray'][$id]);
取消设置($_会话['fileListing'][$id]);
}
}
返回$deleted;
}
我的控制器基本上检查文件id是否设置,然后检查数组id是否设置,然后调用deleteUploadedFile()
方法,然后调用currentUploadedFiles()
方法
问题是,为什么我在
deleteUploadedFile()
中转储$deleted var时得到bool(true),但在currentUploadedFiles()方法中得到bool(false)。听起来好像我把范围搞乱了?看起来$deleted在delete函数的本地范围内
像下面这样的方法应该可以奏效
class theClass
{
function __construct()
{
$this->deleted = false
}
function delete()
{
$this->deleted = true;
}
function upload()
{
var_dump($this->deleted);
}
}
如何准确地var_转储方法中的那些变量?@Nicolás-echo“”;var_dump($已删除);回声';在返回之前,$已删除;在deleteUploadedFile()方法中。@Jared:np。很高兴我能帮忙:)