Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Sympfony2使用文件系统按名称或路径删除文件_Php_Image_Symfony - Fatal编程技术网

Php Sympfony2使用文件系统按名称或路径删除文件

Php Sympfony2使用文件系统按名称或路径删除文件,php,image,symfony,Php,Image,Symfony,请建议如何使用文件系统简单地删除文件/映像。 symfony网站上的文档不清楚,因为它提到了一些数组 我试过这个: $fs = new Filesystem(); $fs->remove('name.jpeg'); 以及: 取消链接('name.jpeg') 我也读过这篇文章,但没有帮助: 我还尝试使用路径和路径+名称。但是,也许有一种特殊的方式来获得路径。 谢谢你事实证明,这就是你获得路径的方式: $path = $this->container->getParamete

请建议如何使用文件系统简单地删除文件/映像。 symfony网站上的文档不清楚,因为它提到了一些数组

我试过这个:

$fs = new Filesystem();
$fs->remove('name.jpeg');
以及:

取消链接('name.jpeg')

我也读过这篇文章,但没有帮助:

我还尝试使用路径和路径+名称。但是,也许有一种特殊的方式来获得路径。
谢谢你

事实证明,这就是你获得路径的方式:

$path = $this->container->getParameter('kernel.root_dir') . '/../folder1/folder2/name.jpeg';

$fs = new Filesystem();
$fs->remove($path);

首先,您必须获得资源的绝对路径,选项包括:

检索内核服务:

$kernel = $this->container->get('kernel');
对于捆绑资源:

$path = $kernel->locateResource('@NameOfBundle/Resources/public/name.jpeg');
// Get the absolute path of your `app` directory
$rootDir = $kernel->getRootDir(); 
// Retrieve the resource
$path = $rootDir . '/../web/name.jpeg';
其他资源:

$path = $kernel->locateResource('@NameOfBundle/Resources/public/name.jpeg');
// Get the absolute path of your `app` directory
$rootDir = $kernel->getRootDir(); 
// Retrieve the resource
$path = $rootDir . '/../web/name.jpeg';
然后,像使用symfony/filesystem一样删除它:

$fs = new Filesystem();

if ($fs->exists($path)) { // This check is useless if you used $kernel->locateResource() previously
    $fs->remove($path);
}
希望这对你有帮助