[résolu] Problème de path sur l'ajout d'une image via programmation

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je créé via programmation un noeud auquel j'associe une image. Cela fonctionne.

Sauf que l'image n'apparait pas dans le bon répertoire de destination ! Au lieu que mon image soit dans le répertoire files/images/voiture/ elle se trouve à la racine de file.

Faut-il renseigner une autre propriété que 'filepath' ?

Merci

$node->type = 'voiture';
$node->title = 'Smart4for';

$file_temp = file_get_contents('./sites/all/images/smart.jpg');
$file_temp = file_save_data($file_temp, 'files/images/voiture/smart.jpg', FILE_EXISTS_RENAME);

$node->field_voiture_photo[0] = array(
'fid' => 'upload',
'title' => basename($file_temp),
'filename' => basename($file_temp),
'filepath' => 'files/images/voiture/',
'filesize' => filesize($file_temp),
'filemime' => file_get_mimetype($file_temp),
);

$node->uid = 1;
$node->status = 1;
$node->active = 1;

node_save($node);

Forum : 
Version de Drupal : 

J'ai aussi eu ce souci j'y suis pas arrivé en utilise un node save ou autre, alors j'ai directement inséré l'image en base de donnée avec db_query.

J'ai remonté le problème et jusqu'à upload.module et après j'ai pas trop compris comment il gère les fichiers et pourqoi il me le mets quand même dans files, alors j'ai décidé de directement faire l'insert dans files file_revision.

a+

Ca y est j'ai trouvé

Dans une premier temps j'avais directement mis le chemin du path en dur dans la fonction imagefield_file_insert ( CCK ).

Sinon, la configuration de ce path se fait en amont : sur la gestion des champs du type de contenu il faut remplir le champ "File Path".

Et ça fonctionne !

Merci