16/04/11 14:56
RapFan
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
il dropboxuploader.php che lo script richiede si trova qui jaka.kubje.org/projects/dropbox-uploader/files/…
edit: ho appena scoperto che esistono le librerie cURL per fare quello che voglio io, a questo punto mi domando se aggiungendo questa porzione di codice riesco a passare al resto del programma il vero file da uploadare
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).
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
<body> <?php if ($_POST) { require 'DropboxUploader.php'; try { // Rename uploaded file to reflect original name if ($_FILES['url']['error'] !== UPLOAD_ERR_OK) throw new Exception('File was not successfully uploaded from your computer.'); $tmpDir = uniqid('/tmp/DropboxUploader-'); if (!mkdir($tmpDir)) throw new Exception('Cannot create temporary directory!'); if ($_FILES['url']['name'] === "") throw new Exception('File name not supplied by the browser.'); $tmpFile = $tmpDir.'/'.str_replace("/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<body> <?php if ($_POST) { require 'DropboxUploader.php'; try { // Rename uploaded file to reflect original name if ($_FILES['url']['error'] !== UPLOAD_ERR_OK) throw new Exception('File was not successfully uploaded from your computer.'); $tmpDir = uniqid('/tmp/DropboxUploader-'); if (!mkdir($tmpDir)) throw new Exception('Cannot create temporary directory!'); if ($_FILES['url']['name'] === "") throw new Exception('File name not supplied by the browser.'); $tmpFile = $tmpDir.'/'.str_replace("/{parsed_message}", '_', $_FILES['file']['name']); if (!move_uploaded_file($_FILES['url']['tmp_name'], $tmpFile)) throw new Exception('Cannot rename uploaded file!'); // Enter your Dropbox account credentials here $uploader = new DropboxUploader('indirizzoemailDropBox', 'passwordDropbox'); $uploader->upload($tmpFile, $_POST['dest']); echo '<span style="color: green;font-weight:bold;margin-left:393px;">File successfully uploaded to my Dropbox!</span>'; } catch(Exception $e) { echo '<span style="color: red;font-weight:bold;margin-left:393px;">Error: ' . htmlspecialchars($e->getMessage()) . '</span>'; } // Clean up if (isset($tmpFile) && file_exists($tmpFile)) unlink($tmpFile); if (isset($tmpDir) && file_exists($tmpDir)) rmdir($tmpDir); } ?> <div class="box" align="center"> <h1>Dropbox Uploader Demo<br> <br> </h1> <form method="POST" enctype="multipart/form-data"> <input type="url" size=50 /><br><br> <input type="submit" value="Upload the file to my Dropbox!" /> <input style="display:none" type="text" name="dest" value="shared" /> </div> </body> </html>
il dropboxuploader.php che lo script richiede si trova qui jaka.kubje.org/projects/dropbox-uploader/files/…
edit: ho appena scoperto che esistono le librerie cURL per fare quello che voglio io, a questo punto mi domando se aggiungendo questa porzione di codice riesco a passare al resto del programma il vero file da uploadare$url = $_POST('url'); $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_URL, $url); $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).", '_', $_FILES['file']['name']); if (!move_uploaded_file($_FILES['url']['tmp_name'], $tmpFile)) throw new Exception('Cannot rename uploaded file!'); // Enter your Dropbox account credentials here $uploader = new DropboxUploader('indirizzoemailDropBox', 'passwordDropbox'); $uploader->upload($tmpFile, $_POST['dest']); echo '<span style="color: green;font-weight:bold;margin-left:393px;">File successfully uploaded to my Dropbox!</span>'; } catch(Exception $e) { echo '<span style="color: red;font-weight:bold;margin-left:393px;">Error: ' . htmlspecialchars($e->getMessage()) . '</span>'; } // Clean up if (isset($tmpFile) && file_exists($tmpFile)) unlink($tmpFile); if (isset($tmpDir) && file_exists($tmpDir)) rmdir($tmpDir); } ?> <div class="box" align="center"> <h1>Dropbox Uploader Demo<br> <br> </h1> <form method="POST" enctype="multipart/form-data"> <input type="url" size=50 /><br><br> <input type="submit" value="Upload the file to my Dropbox!" /> <input style="display:none" type="text" name="dest" value="shared" /> </div> </body> </html>
il dropboxuploader.php che lo script richiede si trova qui jaka.kubje.org/projects/dropbox-uploader/files/…
edit: ho appena scoperto che esistono le librerie cURL per fare quello che voglio io, a questo punto mi domando se aggiungendo questa porzione di codice riesco a passare al resto del programma il vero file da uploadare
$url = $_POST('url'); $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_URL, $url); $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 19/04/11 8:01
aaa