gpt4 book ai didi

php - unlink() 如何找到要删除的文件?

转载 作者:行者123 更新时间:2023-12-04 06:54:53 25 4
gpt4 key购买 nike

我的应用程序有一个 ' Photo ' 字段来存储 URL。它使用 sfWidgetFormInputFileEditable对于小部件架构。要在上传新图像时删除旧图像,我在覆盖的 setter 中设置值之前使用 unlink 并且它有效!!!

if (file_exists($this->_get('photo')))
unlink($this->_get('photo'));
  • 照片存储在上传/照片和保存时' Photo ' 只有文件名 xxx-yyy.zzz已保存(而不是完整路径)。但是,我想知道symfony/php 如何知道要删除的文件的完整路径?

  • 第2部分:
    我正在使用 sfThumbnailPlugin生成缩略图。所以实际的代码是这样的:
    public function setPhoto($value)
    {
    if(!empty($value))
    {
    Contact::generateThumbnail($value); // delete current Photo & create thumbnail
    $this->_set('photo',$value); // setting new value after deleting old one
    }
    }

    public function generateThumbnail($value)
    {
    $uploadDir = sfConfig::get('app_photo_upload'); // path to upload folder
    if (file_exists($this->_get('photo')))
    {
    unlink($this->_get('photo')); // delete full-size image
    // path to thumbnail
    $thumbpath = $uploadDir.'/thumbnails/'.$this->get('photo');
    // read a blog, tried setting dir manually, doesn't work :(
    //chdir('/thumbnails/');
    // tried closing the file too, doesn't work! :(
    //fclose($thumbpath) or die("can't close file");
    //unlink($this->_get('photo')); // doesn't work; no error :(
    unlink($thumbpath); // doesn't work, no error :(
    }

    $thumbnail = new sfThumbnail(150, 150);
    $thumbnail->loadFile($uploadDir.'/'.$value);
    $thumbnail->save($uploadDir.'/thumbnails/'.$value, 'image/png');
    }
  • 为什么不能使用 unlink() 删除缩略图?操作顺序不正确吗?
    是不是因为旧缩略图显示在sfWidgetFormInputFileEditable小部件?

  • 我花了几个小时试图弄清楚这一点,但无法确定真正的原因。
    提前致谢。

    最佳答案

    $path = "上传/照片";
    $image = "图片名称";

    unlink($path.$image);

    关于php - unlink() 如何找到要删除的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2673139/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com