我正在使用CakePHP做一个pŕoject。在这个项目中,我需要读取一个ips文件,将其添加到我的数据库中。只使用PHP我可以读取文件等,但是当我尝试使用CakePHP时,它是最干净的工作。
我的.ctp文件中的代码:
echo $this->Form->Create(null, ['type' => 'file', 'url' => ['controller' => 'Ips', 'action' => 'file']]);
echo '<br>' . '<br>';
?>
<div>
<div class="btn indigo darken-3">
Informe o Arquivo:
</div>
<div class="btn indigo darken-3">
<?php
echo $this->Form->file('file') . ' ';
?>
</div>
<?php
echo $this->Form->button('Enviar', ['class' => 'btn indigo darken-3']);
echo $this->Form->end();
?>
来自我的控制器的代码:
public function file() {
$file_ip = $this->request->data['file'];
$file_cake = new File($file_ip, true);
print_r($file_cake);
exit();
}
它返回:
Cake\Filesystem\File Object
(
[Folder] => Cake\Filesystem\Folder Object
(
[path] => /*/*/*/rbl_check/tmp/
[sort] =>
[mode] => 493
[_fsorts:protected] => Array
(
[name] => getPathname
[time] => getCTime
)
[_messages:protected] => Array
(
)
[_errors:protected] => Array
(
)
[_directories:protected] =>
[_files:protected] =>
)
[name] =>
[info] => Array
(
[dirname] => /*/*/*/rbl_check
[basename] => tmp
[filename] => tmp
[filesize] =>
[mime] =>
)
[handle] =>
[lock] =>
[path] => /*/*/*/*/tmp/
)
如何创建文件对象以及我如何阅读它?我不能使用新的SplFileObject(),蛋糕返回错误。
答案 0 :(得分:0)
$file_cake = new File($file_ip, true);
创建一个文件对象。它是一个方便的蛋糕类。确保你使用
use Cake\Filesystem\File;
我假设你是,因为对象是创建的。 要使用该对象,请尝试这些方法
$contents = $file_cake->read(); //dumps the file's content in a string
$file_cake->append('moo'); //append text at the end of the file
$file_cake->write('moo'); //overwrites the files content...
$file_cake->delete(); // deletes the file
$file_cake->close(); //... you get it...
答案 1 :(得分:0)
您可以使用一些php本地代码,以防万一,目的只是生成文件,我无数次试图使用cakephp方法来做到这一点,无论如何,这是一个示例:
$content = "SOME DATA";
$fp = fopen( "folder/whatevernameyouwant.extension","wb");
fwrite($fp,$content);
fclose($fp);