0
votes

Téléchargement d'un fichier à l'aide de Google Drive API V3 et PHP via le formulaire HTML

Je travaille sur un programme permettant aux utilisateurs de sélectionner un fichier à l'aide d'un formulaire HTML, puis le programme téléchargerait ledit fichier sur Google Drive et partagez-la avec un certain autre utilisateur. J'ai été capable de créer un fichier dans Google Drive, puis de la partager; mais une fois que j'ai essayé uploading un fichier, tout est allé en descente.

C'est étrange, car je pense que le code à télécharger le fichier est correct, le problème doit donc mentir le fichier de la Formulaire HTML au fichier PHP. Ma suspicion a été confirmée par le fait que je tente d'echo $ _files ['myfile'] ['nom'] ['nom'] rien ne se passe.

Je téléchargerai deux extraits de code ci-dessous, mais je vais omettez toute l'authentification de l'API Google Drive pour la Brevity's Sake de Brevity, car cela fonctionne.

index.php xxx

next.php xxx

N'oubliez pas que j'ai omis le code d'authentification parce que je sais que cela fonctionne.

Je ne comprends pas pourquoi cela ne fait rien, de ce que j'ai pu se rassembler. Internet Le code est correct. Je pense que la question peut avoir à voir avec le tableau $ _files ['myfile'], et pourtant de toute la documentation en ligne, il semble également être correct.


0 commentaires

3 Réponses :


0
votes

Essayez d'ajouter MultiPart

$uploadedFile = $service->files->insert($file, array(
  'data' => $data,
  'mimeType' => $type,
  'uploadType' => 'multipart'
));


2 commentaires

Cela ne semble pas résoudre le problème, je pense que le problème a à voir avec $ des données, car la variable super globale de $ _files semble vider pour une raison quelconque; Je pense donc que la question est que. Si quelqu'un sait pourquoi cela serait d'une grande aide. Sur le fichier php.ini est défini sur ON et un répertoire temporaire est défini.


Qu'est-ce que print_r ($ _ fichiers ['myfile'] ['Nom']]) donne?



0
votes

Configuration intérieure

En raison de votre spécification de fichier HTML, je suppose que votre structure de projet est la suivante: xxx

donc je vais démarrer un serveur HTTP simple PHP dans Le dossier de projet utilisant la commande: php -s localhost: 8000

Approche

Pour que cela fonctionne, vous devrez adapter votre Next.php code un peu. Je recommande d'utiliser la dernière version de l'API de lecteur (v3). Il n'y a pas de méthode insert () dans v3 mais il a créer () . xxx

référence

API de repos V3


0 commentaires

1
votes

Si toujours non résolu alors ... Comme vous l'avez mentionné $ _files est vide, je suggère de regarder l'emplacement du fichier de votre projet. Supposons que votre index.php est dans project-> home-> index.php alors votre suivez.php devrait être dans Projet -> nom_php .

Aussi vous devez donner à Soumettre un nom = Soumettre .

in Next.php Test, soit le formulaire est défini ou non

si (Isset ($ _ post ['Soumettre'])) { print_r ($ _ fichiers ['myfile']); }

et si le fichier n'est pas téléchargé, laissez-moi savoir le problème.


0 commentaires