2010-07-28 4 views
0

Grâce aux fonctions imap_ * de php j'essaie de stocker les pièces jointes des e-mails sur mon serveur. Je veux stocker le contenu ($ c, string) du fichier avec le nom de fichier ($ f) dans un sous-répertoire nommé avec un identifiant de thread ($ thread). m_attpath est une constante définie pointant vers le dossier de base.Autorisations problèmes pour le téléchargement via php

if(!is_dir(m_attpath.$thread)){ 
     mkdir(m_attpath.$thread); 
    }; 

$handle = fopen(m_attpath.$thread.'/'.$f, 'w+'); 
fwrite($handle, $c); 
fclose($handle); 

Mais maintenant je suis struggeling avec les autorisations dont j'ai besoin de définir afin de laisser les Attachements visibles à travers une page download.php.

le dossier principal m_attpath = 0777 le dossier de fil est 0644 les fichiers eux-même sont également 0644

Lors de l'affichage des fichiers via mon navigateur, ils finissent par en tant que point d'interrogation. Le navigateur n'affiche pas d'avertissement 404. Dans un programme ftp, je peux voir la taille des pièces jointes. Quelque chose ne va pas, mais je ne peux pas trouver quoi. Est-ce que quelqu'un peut m'aider avec ça?

Thanx

Répondre

0

si m_attpath est une constante de ce code est erroné.

devrait être

$handle = fopen(m_attpath.$thread.'/'.$f, 'w+');

Que voulez-vous dire par « ils finissent comme un point d'interrogation »?

+0

que $ est une faute de frappe. "Ils se terminent par un point d'interrogation": le navigateur affiche un point d'interrogation au lieu de l'image elle-même. Il n'y a donc pas de 404 mais il semble que ce ne soit pas lisible. – richardverbruggen

+0

que se passe-t-il si vous ouvrez les fichiers directement (pas via le navigateur)? Je suppose que la taille du fichier semble correcte parce que vous avez mentionné que vous pouvez le voir dans un programme ftp. Il me semble que ce n'est pas un problème d'autorisation parce que les autorisations semblent correctes et si vous aviez un avertissement php écrit le fichier ou un 403 en y accédant via le navigateur. Franchement, je suis à perte. Pourriez-vous poster plus de code? Je suggère de vérifier que $ c contient vraiment ce que vous attendez. Cela ne devrait pas faire de différence sur un système Linux, mais vous devriez utiliser "wb +" pour les fichiers binaires btw. –

Questions connexes