IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Form PHP Discussion :

Supprimer des fichiers uploader en supprimant les candidatures


Sujet :

Zend_Form PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Novembre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur étude et développement

    Informations forums :
    Inscription : Novembre 2009
    Messages : 125
    Par défaut Supprimer des fichiers uploader en supprimant les candidatures
    Bonjour,

    E fait j'ai un petit souci que je n'arrive pas à résoudre, j'ai développé un formulaire d'ajout de candidature qui permettra à un candidat de postuler à une offre, donc possibilité de joindre un cv sous forme word ou pdf, ce que j'aimerai faire c'est que dans le cas ou je veux supprimer le candidat, son cv sera supprimé aussi du disque dur pour ne pas garder les cv des candidats supprimés, donc j'aimerai savoir s'il y a une fonction qui permet de faire cette suppression juste après la suppression des candidatures si ces derniers sont supprimés.
    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    On imagine donc que la candidature est inscrite en base de données, donc dans une des tables il y aura un lien vers l'endroit où se trouve le cv.

    Donc première étape, on récupère le lieu de cv et on fait unlink(), en suite on supprime la candidature en db.

  3. #3
    Membre confirmé
    Femme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Novembre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur étude et développement

    Informations forums :
    Inscription : Novembre 2009
    Messages : 125
    Par défaut
    Merci pour la réponse,
    je vois ce qu'il faut faire, mais je ne sais pas comment récupérer le chemin du fichier pour faire un unlik(),
    me fonction de suppression est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public function deleteCandidatAction(){
    		$candidature			= new RecrutementCandidature();
    		$candidatId				= $this->params["candidatId"]
    		$langCode				= $this->params["langCode"];
    $url		= "{$this->params['module']}/recruthor/gestion-candidature";
    $result		= $candidature->delete('candidatId', $candidatId);	
    		$url .= $result ? "/op/succes" : "/op/erreur" ;
    		$this->gotoUrl($url);		
    	}

  4. #4
    Membre confirmé
    Femme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Novembre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur étude et développement

    Informations forums :
    Inscription : Novembre 2009
    Messages : 125
    Par défaut
    Pour l'ajout de la candidature ma fonction est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    public function saveCandidatureAction(){
    			$candidature					=  new RecrutementCandidature();
    	   		$url							= "{$this->params['module']}/index/ajout-candidature/lang/{$this->params['lang']}";
    			//Gestion des enregistrements de la table recrutement_candidature
    			$tcandidature							= array();
    			$tcandidature["candidatId"]				= $this->params["candidatId"];
    			$tcandidature["offreId"]				= $this->params["offreId"];
    			$tcandidature["langCode"]				= $this->params["lang"];
    			$tcandidature["candidatNom"]			= $this->params["candidatNom"];
    			$tcandidature["candidatPrenom"]			= $this->params["candidatPrenom"];
    			$tcandidature["candidatEmail"]			= $this->params["candidatEmail"];
    			$tcandidature["candidatAdresse"]		= $this->params["candidatAdresse"];
    			$tcandidature["candidatCv"]				= $this->params["candidatCv"];
    			$tcandidature["candidatLm"]				= $this->params["candidatLm"];
    			$tcandidature["candidatDate"]			= date("Y-m-d H:i:s");
    			$adapter 								=  new Zend_File_Transfer();
    				$adapter->setDestination('D:\workspace\thermidor\public\upload');
    				$candidatCv                    		    = $adapter->getFileInfo(); 
    				$filePath = $adapter->getFileName();
    				$fileName = NULL;
    				if($filePath) {
    					$fileName = basename($filePath);	
    				}
    			//Création des candidatures
     
    			if($this->params["candidatId"] == ""){
    				if ($adapter->isUploaded()) {
    					//recupérer l'extension du fichier pour pouvoir le renommer
    					$extension = end(explode('.', $fileName));
    					$date = date("Ymd_his");
    					// utilisation du validateur Rename pour pouvoir renommer le fichier
    					$targetName = "cv_{$date}_{$this->params["offreId"]}.{$extension}";
    					$adapter->addFilter('Rename',$targetName,$fileName);
    					echo "<pre>";
    					var_dump($adapter);
    					echo "</pre>";
    				 	$adapter->receive();
    					$tcandidature["candidatId"]		= NULL;      
    					$tcandidature["candidatCv"]		= PUBLIC_UPLOAD.$targetName;
    					if (!$fileName) {		
    					    $messages = $adapter->getMessages();
    					    echo implode("\n", $messages);
    					    $result = false;
    					}else{
    						$candidature->insert($tcandidature);
    						$result = true;
     
    					}		
    				$url .= $result ? "/op/succes" : "/op/erreur" ;
    				$this->gotoUrl($url);
    				}
    			}
    	}
    ici je récupére bien le chemin du fichier lors de l'upload mais pour la suppression je n'arrive pas à voir comment récupérer ce chemin ni même l'utilisation de la fonction unlink()!
    Merci d'avance pour votre aide.

  5. #5
    Membre confirmé
    Femme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Novembre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur étude et développement

    Informations forums :
    Inscription : Novembre 2009
    Messages : 125
    Par défaut
    J'ai essayé de faire la fonction suivante mais ça ne marche toujours pas:*
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    /**
    	 * @desc Suppression d'une candidature
    	 */
    	public function deleteCandidatAction(){
    		$candidature					= new RecrutementCandidature();
    		$languages						= new ThermidorLanguage();
    		$defaultLanguage				= $languages->getDefaultLanguage();
    		$listCand						= $candidature->getLastCand($defaultLanguage);
    		$candidatId						= $this->params["candidatId"];
    		$langCode						= $this->params["langCode"];
    		$cv								= $this->listCand->candidatCv;
    		//suppression du cv du repertoire de destination
    		$delete                         = $candidature->unlink($cv);
    		$url							= "{$this->params['module']}/recruthor/gestion-candidature";
    		if ($delete){
    			$result						= $candidature->delete('candidatId', $candidatId);
    		}	
    		$url .= $result ? "/op/succes" : "/op/erreur" ;
    		$this->gotoUrl($url);		
    	}

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Que retourne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->listCand->candidatCv;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AppleScript] Supprimer des sous dossiers sans supprimer les fichiers
    Par mathieu707 dans le forum AppleScript
    Réponses: 9
    Dernier message: 19/03/2018, 16h58
  2. Réponses: 0
    Dernier message: 28/03/2012, 11h29
  3. Supprimer des fichiers sur les bureaux de tous les users ???
    Par proteine1024 dans le forum VBScript
    Réponses: 1
    Dernier message: 01/09/2009, 08h56
  4. Supprimer des fichiers blancs
    Par melmouj dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 05/12/2005, 14h38
  5. Comment supprimer des fichiers en nombre ?
    Par Didier L dans le forum API, COM et SDKs
    Réponses: 13
    Dernier message: 25/01/2005, 16h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo