Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Upload dropbox da url
Forum - PHP - Upload dropbox da url

Avatar
RapFan (Normal User)
Newbie


Messaggi: 7
Iscritto: 03/03/2011

Segnala al moderatore
Postato alle 16:56
Sabato, 16/04/2011
Ciao a tutti!
Girovagando sul web ho trovato un paio di script che permettono di effettuare l'upload dei file su dropbox, ma solo da locale. Io però vorrei eseguire l'upload da file remoto (inserendo l'URL del file).
Ho provato a modificarli passando come valore l'url dove è hostato il file, ma ovviamente non funziona:rotfl:
Codice sorgente - presumibilmente Php

  1. <body>
  2. <?php
  3. if ($_POST) {
  4.     require 'DropboxUploader.php';
  5.  
  6.  
  7.     try {
  8.         // Rename uploaded file to reflect original name
  9.         if ($_FILES['url']['error'] !== UPLOAD_ERR_OK)
  10.             throw new Exception('File was not successfully uploaded from your computer.');
  11.  
  12.         $tmpDir = uniqid('/tmp/DropboxUploader-');
  13.         if (!mkdir($tmpDir))
  14.             throw new Exception('Cannot create temporary directory!');
  15.  
  16.         if ($_FILES['url']['name'] === "")
  17.             throw new Exception('File name not supplied by the browser.');
  18.  
  19.         $tmpFile = $tmpDir.'/'.str_replace("/\0", '_', $_FILES['file']['name']);
  20.         if (!move_uploaded_file($_FILES['url']['tmp_name'], $tmpFile))
  21.             throw new Exception('Cannot rename uploaded file!');
  22.  
  23.         // Enter your Dropbox account credentials here
  24.                 $uploader = new DropboxUploader('indirizzoemailDropBox', 'passwordDropbox');
  25.         $uploader->upload($tmpFile, $_POST['dest']);
  26.  
  27.         echo '<span style="color: green;font-weight:bold;margin-left:393px;">File successfully uploaded to my Dropbox!</span>';
  28.     } catch(Exception $e) {
  29.         echo '<span style="color: red;font-weight:bold;margin-left:393px;">Error: ' . htmlspecialchars($e->getMessage()) . '</span>';
  30.     }
  31.  
  32.     // Clean up
  33.     if (isset($tmpFile) && file_exists($tmpFile))
  34.         unlink($tmpFile);
  35.  
  36.     if (isset($tmpDir) && file_exists($tmpDir))
  37.         rmdir($tmpDir);
  38. }
  39. ?>
  40.  
  41. <div class="box" align="center">
  42.                 <h1>Dropbox Uploader Demo<br>
  43.                 <br>
  44.                  </h1>
  45.                 <form method="POST" enctype="multipart/form-data">
  46.                 <input type="url" size=50 /><br><br>
  47.                 <input type="submit" value="Upload the file to my Dropbox!" />
  48.                 <input style="display:none" type="text" name="dest" value="shared" />
  49.  
  50. </div>
  51.  
  52.  
  53.  
  54.  
  55. </body>
  56. </html>


il dropboxuploader.php che lo script richiede si trova qui http://jaka.kubje.org/projects/dropbox-uploader/files/drop ...




edit: ho appena scoperto che esistono le librerie cURL per fare quello che voglio io:rotfl:, a questo punto mi domando se aggiungendo questa porzione di codice riesco a passare al resto del programma il vero file da uploadare
Codice sorgente - presumibilmente Plain Text

  1. $url = $_POST('url');
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  4. curl_setopt($ch, CURLOPT_HEADER, false);
  5. curl_setopt($ch, CURLOPT_URL, $url);
  6. $out = curl_exec($ch);


da quello che ho capito questo sono i passi fondamentali per prendere in lettura un file da url. ora al posto di $out userei $file da dare in pasto al resto del codice (risostituendo di nuovo tutte le variabili $url presenti nella prima parte).

Ultima modifica effettuata da RapFan il 19/04/2011 alle 10:01
PM
Avatar
danielerew (Normal User)
Newbie


Messaggi: 15
Iscritto: 10/06/2011

Up
0
Down
V
Segnala al moderatore
Postato alle 23:23
Martedì, 19/07/2011
fammi capire tu vorresti prendere un file avendo un url es. www.sito.com/file.jpg ed effettuare il trasferimento su un altro server o sul computer locale?

sì voglio ma solo su dropbox e non sul computer locale anzi non vorrei passarci proprio da lì voglio risparmiare un passaggio - RapFan - 20/07/11 08:51
il problema principale è sicuramente lasicurezza a meno che tu non indichi un tuo server non è che tutto si puo estrap da un sito prendi per esempio i programmini che tentano di scaricare i contenuti dal web tipo teleport il piu delle volte falliscono. Se invece ti serve un download files dal tuo si - danielerew - 21/07/11 13:26
sito è un altra cosa ma la cosa non ha senso perche e come voler fare un progr ftp cut nel caso dell uppload multiplo di file verso una direzione a te conosciuta (avendo i permessi) allora la cosa è fattibile... - danielerew - 21/07/11 13:30
PM