2011-04-07 6 views
0

J'ai développé un projet PHP. En ce que je passe l'image de Flash à PHP. Quand je reçois la valeur du paramètre, je convertis au format base64 et j'écris dans le nouveau fichier (image png). La logique ci-dessus fonctionne parfaitement dans mon système local. Mais quand j'ai déployé ce seeting dans le serveur. Sauf que le fichier écrit tout fonctionne.Fichier non écrit dans le serveur

Voici le code pour générer l'image.

$filename = $templateID.'.png'; 

if ($handle = fopen("images/cat_images/".$filename, 'w')) 
{ 
    if (!fwrite($handle, $somecontent) === FALSE) 
    { 
     fclose($handle); 

     $query = "UPDATE `products` SET `template_data`='".$signData."' WHERE `id`=$templateID LIMIT 1"; 
     $db->query($query); 
    } 
} 
+0

Avez-vous des autorisations d'écriture sur les images/cat_image s répertoire? –

+0

Etes-vous sûr que votre script dispose d'autorisations d'écriture dans le répertoire que vous écrivez sur le serveur? Cela expliquerait pourquoi le code fonctionne localement mais pas sur votre serveur. – Simon

Répondre

0

Si vous ne parvenez pas à écrire ce qui est certainement vous ne disposez pas de l'autorisation d'écriture sur ce répertoire.

Donnez l'autorisation d'écriture au répertoire.

EDIT

Vérifiez le chemin que vous avez mentionné dans le fopen est correct. Je pense que ce n'est pas correct selon votre structure de répertoire en direct.

Essayez de mentionner le chemin complet dans fopen

if ($handle = fopen("/full/path/here/images/cat_images/".$filename, 'w')) 
+0

L'autorisation de fichier pour le répertoire a été donnée via le client FTP (FileZilla). Si je clique avec le bouton droit de la souris et que je vérifie la persistance, cela indique 777. Donc, je pense que le problème n'est pas dû à l'autorisation de fichier. – Arung

0

essayer sudo chown www-data /path/to/images/ -r

qui donnera la propriété à apache faire l'écriture, ou ajoutez l'utilisateur www-data à votre groupe

ou sudo chmod a+w /path/to/images/ -r pour permettre à quiconque d'y écrire, pas la meilleure option

+0

Le fichier flash peut-il utiliser le protocole SSL? Parce que la valeur passe du fichier falsh au fichier php. Alors peut-être le problème en falsh avec SSL ?? – Arung

Questions connexes