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

标签 php file-upload symfony1 thumbnails

我的应用程序有一个“照片”字段来存储 URL。它使用 sfWidgetFormInputFileEditable 作为小部件架构。要在上传新图像时删除旧图像,我在重写的 setter 中设置值之前使用 unlink,并且它有效!!!

if (file_exists($this->_get('photo')))
    unlink($this->_get('photo'));
  1. 照片存储在上传/照片中,保存“照片”时,仅保存文件名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/

    相关文章:

    javascript - 处理照片和视频的大型网络上传

    php - ORM 是全有还是全无?

    php - Mysql没有正确插入二进制数据

    javascript - jQuery 的 "uploadProgress"未在 "$.ajax"中触发

    javascript - 计算每秒字节数(流畅的方式)

    php - 如何在 symfony 1.4 中实现 SSL?

    php - 如何检测用户是否已登录 symfony?

    php - 如何在 PHP 中更新 MySQL 行?

    php - PHP 中 exec 的替代方案?

    php - POST 内容长度 167289889 字节超出了 41943040 字节的限制