Fichiers cloud Rackspace: Téléchargement d'images pour rackspace de fichiers cloud en utilisant PHP
Je suis en train de faire un projet où l'utilisateur peut télécharger des images comme image de profil ou de l'image de leur image gallary. maintenant son chargement de toutes les images sur mon serveur.
Maintenant, je veux télécharger cette image pour mon rackspace cloud des fichiers directement à l'aide d'un script php.
Par exemple:
- à l'utilisateur de sélectionner un fichier
- appuyez sur soumettre des informations
- le fichier sélectionné sera téléchargé sur l'espace d'hébergement de serveur et de retour à l'emplacement du fichier.
- le fichier à l'emplacement ainsi que d'autres informations seront enregistrées dans ma base de données.
- alors, je vais montrer le fichier ou l'image à partir de cet emplacement.
donc u ne avez aucune idée, exactement comment je peux faire cela?
je suis en utilisant:
- Codeigniter framework
- jQuery javascript library
merci d'avance pour toute réponse.
source d'informationauteur M.M.H.Masud
Vous devez vous connecter pour publier un commentaire.
Mise à jour: Bien que la méthode que je décris ci-dessous continuent de fonctionner, il n'est pas possible de télécharger des fichiers directement à l'aide de jetons (merci à DesignerGuy pour cette info). Vous pouvez en savoir plus sur la façon de le faire ici. Je dois aussi mentionner que les services comme transloadit maintenant faire ce genre de chose trivial à l'aide de jquery insère dans les formulaires HTML. Encore la méthode que je décris ci-dessous fonctionne encore et probablement vous donne le plus de contrôle.
Vous ne pouvez pas charger les fichiers directement à Rackspace Fichiers, sans essayer quelque chose comme l'incorporation de votre Rackspace informations d'identification dans le formulaire. Même si cela était possible, il ne serait pas une bonne idée. (c'est à dire l'utilisateur peut ajouter massive de contenu à l'aide de vos informations d'identification qui n'ont rien à faire avec votre application). Pour obtenir ce que vous voulez, ce qui est essentiellement le fichier stocké chez Rackspace, et l'emplacement du fichier stocké dans votre serveur, vous devez modifier votre flux de travail. Il doit être:
Si vous voulez que le fichier soit publiquement téléchargeable...
Si vous voulez que le fichier soit disponible seulement par certains utilisateurs....
Vous n'avez pas à payer pour la bande passante entre votre serveur et rackspace fichiers, si votre serveur est également un rackspace cloud instance ou Rackspace Serveur Géré (ou du moins c'est ce que soutien à la clientèle m'a dit). Un fait important lors du calcul du taux entre Amazon et Rackspace.
De sorte que vous pouvez soit utiliser d'espace d'hébergement de Fichiers comme un énorme disque dur de votre serveur, ce qui vous donne le contrôle sur accès, ou vous pouvez l'utiliser comme un énorme réseau de distribution de l'...
Mais dans les deux cas, vous devrez peut-être modifier l'ordre de vos étapes pour vous donner ce que vous voulez...
Vous pouvez également regarder un exemple simple d'utilisation de php à télécharger un fichier recueillies à partir d'un formulaire HTML pour rackspace fichiers.
de welcome.php:
de welcome_message.php:
problèmes que j'ai rencontrés:
cacert.pem ~ Ce fichier doit aller dans votre répertoire web et est livré avec l'api.
vous pouvez avoir besoin de fileinfo de pecl, et pour cela, vous devez libmagic (si vous ne l'avez pas déjà).
vous devez également le package php5-curl et php n'a pas de rapport curl erreurs, de creuser dans l'api et ajouter un peu de sortie si ce n'est pas de travail.
Beaucoup de ces réponses sont vieux et en regardant L'orbite de la réponse je pense qu'il doit y avoir eu beaucoup de changements à l'API depuis. Et depuis ftrotter déjà expliqué essayer de les télécharger directement, je vais vous montrer une version mise à jour (PHP 5.3 style) de façon à envoyer les fichiers à partir du PHP répertoire tmp.
D'abord, nous allons supposer que vous avez déjà installé l'API à l'aide de compositeur.
D'abord, vous aurez besoin d'inclure leurs autochargeur puis ajouter le
use
espace de noms.Ensuite, il vous suffit d'installation de l'instance de client
Maintenant que vous avez votre bac, vous pouvez simplement le programme d'installation de votre baie de fichiers et les télécharger. Voici une façon rapide et sale:
Maintenant vos fichiers de conserver leurs noms quand ils se retrouvent dans le conteneur, et vous pouvez obtenir l'URL publique de chemin d'accès à votre conteneur de droit à partir de l'intérieur de la Rackspace Cloud portal.
Je viens de la faire avec quelque chose de similaire. J'ai pensé que je pourrais ajouter mes conclusions à ce post.
Tout d'abord, placez le cloudfiles package de votre application/répertoire des bibliothèques:
https://github.com/rackspace/php-cloudfiles
Puis découvrez ce simple classe d'intégration. Aussi, placer dans le répertoire des bibliothèques.
https://bitbucket.org/modomg/codeigniter-rackspace-cloudfiles
Cheers,
Jeff Walters