Codeigniter remplacer l'image téléchargée
J'utilise Codeigniter est Téléchargement Du Fichier De Classe pour le téléchargement de l'utilisateur avatars. Est-il possible de remplacer d'un utilisateur à un fichier d'image à chaque fois qu'il/elle télécharge un nouveau? Je veux remplacer un existant avatar avec le plus récent téléchargé.
Mon image téléchargement contrôleur
function upload_avatar()
{
$config['upload_path'] = './uploads/avatars/';
$config['allowed_types'] = 'jpg|png';
$config['overwrite'] = FALSE; //overwrite user avatar
$config['encrypt_name'] = TRUE;
$config['max_size'] = '200'; //in KB
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
$error = $this->upload->display_errors();
$this->session->set_flashdata('error', $error);
redirect('/settings/avatar');
}
else
{
$config['image_library'] = 'gd2';
$config['source_image'] = $this->upload->upload_path.$this->upload->file_name;
$config['create_thumb'] = FALSE;
$config['maintain_ratio'] = FALSE;
$config['width'] = 120;
$config['height'] = 120;
$this->load->library('image_lib', $config);
$this->image_lib->crop();
//Add image path to database
$avatar_path = 'uploads/avatars/' . $this->upload->file_name;
$user_id = $this->tank_auth->get_user_id();
$this->Settings_model->update_avatar($avatar_path, $user_id);
$this->session->set_flashdata('success', 'Avatar updated!');
redirect('/settings/avatar');
}
}
Avez-vous essayé la définition de cette ligne
Je vais maintenant. Merci!
$config['overwrite'] = FALSE; //overwrite user avatar
à TRUE
?Je vais maintenant. Merci!
OriginalL'auteur CyberJunkie | 2012-07-07
Vous devez vous connecter pour publier un commentaire.
Il y a un attribut public
overwrite
qui dicte la décision de remplacer le fichier d'origine. Par défaut, un nouveau nom de fichier est créé sur la base de l'original. Voici le code source de Upload.php dans CI:Donc tout ce que vous devez faire pour obtenir la réécriture de travail est:
OriginalL'auteur quickshiftin
Simple "annuler" dans votre config.
OriginalL'auteur MrBii
avez-vous essayé de changer
à
$this->upload->overwrite = true;
OriginalL'auteur bungdito