[PHP] Uploaden van .MP3 bestanden via FTP

Pagina: 1
Acties:
  • 180 views sinds 30-01-2008
  • Reageer

Onderwerpen


  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
Het volgende: Op mijn site wil ik een mogelijkheid maken dat DJ's hun eigen mixen (Maximaal 200MB groot) naar mij kunnen uploaden d.m.v. FTP. Nou leek mij dit goed te doen door gebruik te maken van PHP.

Nu heb ik het volgende script van http://nl.php.net/ftp gehaald en het een en ander daarin aangepast.
Ik heb de rechten op de FTP directory tijdelijk met chmod 777 ingesteld. Het onderstaande PHP bestand staat op mijn Ubuntu Web en FTP server.

Steeds wanneer ik een .mp3 bestand of iets anders wil uploaden krijgen ik de melding "FTP upload has failed!". Wie ziet wat ik fout doe?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php

if(isset($_POST['start_upload'])) {

    // Connection settings
    $ftp_server = "mijn.site.nl";
    $ftp_user_name = "user";
    $ftp_user_pass = "pass";
    $source_file = $_FILES['mp3']['tmp_name'];
    $destination_file = "/home/user/" . $_FILES['mp3']['name'];
        
    // set up basic connection
    $conn_id = ftp_connect($ftp_server);
    
    // login with username and password
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

    // check connection
    if ((!$conn_id) || (!$login_result)) {
        echo "FTP connection has failed!";
        echo "Attempted to connect to $ftp_server for user $ftp_user_name";
        exit;
    } else {
        echo "Connected to $ftp_server, for user $ftp_user_name";
    }
    
    // upload the file
    $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
    
    // check upload status
    if (!$upload) {
        echo "<p>FTP upload has failed!</p>";
    } else {
        echo "<p>Uploaded $source_file to $ftp_server as $destination_file</p>";
    }
    
    // close the FTP stream
    ftp_close($conn_id);
}
?>

<html>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST" enctype="multipart/form-data">
Please choose a file:<input name="mp3" type="file" />
<input type="submit" name="start_upload" value="Upload File" />
</form>
</html>
</html>

[ Voor 3% gewijzigd door DeepFreeze.NL op 10-10-2007 08:50 ]


  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Je moet eerst het bestand uploaden naar je server, DAN pas met FTP transferren.

Acties:
  • 0 Henk 'm!

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
Megamind schreef op zaterdag 22 september 2007 @ 16:54:
Je moet eerst het bestand uploaden naar je server, DAN pas met FTP transferren.
Is het niet mogelijk om direct per FTP een bestand naar mijn server te sturen?

Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Ik denk het niet, maar misschien kan je de temp file uitlezen en deze direct doorsturen, maar dat is wel erg lastig allemaal.

In princiepe kan je met een cron de geuploade bestanden doorsturen naar de ftp server.

Acties:
  • 0 Henk 'm!

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
Megamind schreef op dinsdag 09 oktober 2007 @ 21:02:
Ik denk het niet, maar misschien kan je de temp file uitlezen en deze direct doorsturen, maar dat is wel erg lastig allemaal.

In princiepe kan je met een cron de geuploade bestanden doorsturen naar de ftp server.
Het script draait op dezelfde server als mijn FTP server. Als het al op de server staat, dan hoef ik toch niet via FTP te verplaatsen? Of zie ik nu helemaal fout?

Acties:
  • 0 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 19-09 16:35

--MeAngry--

aka Qonstrukt

Nee inderdaad, weer iemand goed geleerd dat scripts copy-pasten je niet altijd het vlugst van A naar B brengt. ;)

Tesla Model Y RWD (2024)


Acties:
  • 0 Henk 'm!

Verwijderd

Wat ik begrijp is dat je iemand met z'n browser direct een bestand naar jouw server wil laten uploaden m.b.v. FTP? Dat kan gewoon niet met alleen php en een html documentje.
Als ik jou was zou ik eens gaan kijken naar een FTP Applet zoals Uupload of jUpload ofzo. (Of zelf een schrijven natuurlijk ;))

Acties:
  • 0 Henk 'm!

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
Verwijderd schreef op dinsdag 09 oktober 2007 @ 21:21:
Wat ik begrijp is dat je iemand met z'n browser direct een bestand naar jouw server wil laten uploaden m.b.v. FTP? Dat kan gewoon niet met alleen php en een html documentje.
Als ik jou was zou ik eens gaan kijken naar een FTP Applet zoals Uupload of jUpload ofzo. (Of zelf een schrijven natuurlijk ;))
Het hoeft niet persé met FTP, maar dit leek mij de beste optie om mixen van maximaal 200MB te uploaden.

Acties:
  • 0 Henk 'm!

Verwijderd

Ftp lijkt me wel handig ja, al is het maar omdat je dan eenvoudig een voortgangsindicatie kan geven. (Dat kan met http ook wel, alleen zul je dan iets moeten verzinnen met ajax ofzo)
Ik weet trouwens niet of je 200 MB upload wel voor elkaar kan krijgen met php, timeouts, upload_max_filesize en post_max_size enzo

Acties:
  • 0 Henk 'm!

  • Rmg
  • Registratie: November 2003
  • Laatst online: 20:52

Rmg

DeepFreeze.NL schreef op dinsdag 09 oktober 2007 @ 21:41:
[...]

Het hoeft niet persé met FTP, maar dit leek mij de beste optie om mixen van maximaal 200MB te uploaden.
200Mb posten met php gaat zowiezo lastig worden makkelijker is dan een java applet te nemen voor het uploaden als het om zulke groottes gaat

Acties:
  • 0 Henk 'm!

  • Japius
  • Registratie: April 2003
  • Laatst online: 30-08 20:57
Ik weet niet hoe jij met je hosting zit, maar vaak is er ook een maximum grootte aan te uploaden bestanden (shared hosting: reken op 2MB). Ook iets om rekening mee te houden...

[ Voor 0% gewijzigd door Japius op 09-10-2007 21:55 . Reden: spuit11 :) ]


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Japius schreef op dinsdag 09 oktober 2007 @ 21:53:
[...]


Ik weet niet hoe jij met je hosting zit, maar vaak is er ook een maximum grootte aan te uploaden bestanden (shared hosting: reken op 2MB). Ook iets om rekening mee te houden...
Als het een eigen server is, is het geen probleem.

Als je natuurlijk bestanden via php wilt uploaden dan upload je ze gewoon in dezelfde dir als de FTP zal doen. Als je unix draait kan je eens zoeken op php_progress extensie, deze gebruik ik ook en werkt perfect.

Acties:
  • 0 Henk 'm!

  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
Deze link is dan misschien ook wel nuttig voor je... Ik heb de HTML-versie zelf in gebruik en aangevuld met drie ini_set commando's om over de standaard instellingen heen te komen:
-max_execution_time
-post_max_size
-upload_max_filesize

[ Voor 10% gewijzigd door PaulZ op 09-10-2007 22:21 . Reden: Link gecorrigeerd ]

Vlinders moet je volgen, niet vangen...


Acties:
  • 0 Henk 'm!

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
Ik ben niet echt opzoek naar een java oplossing. Je krijgt dan meteen een "standaard applicatie".
Ik wil liever zelf wat in elkaar zetten of kunnen aanpassen. Daarnaast moet de gebruiker beschikken over Java.

Nu zag Uber-Uploader er wel goed uit. Het draait op Perl. Zelf heb ik nooit Perl gebruikt, dus ik zal het eerst moeten installeren op me webserver, maar dat moet geen probleem zijn lijkt mij.

Acties:
  • 0 Henk 'm!

  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
Het voorbeeld dat ik je heb gegeven bevat naast de java applet ook een 'gewone' versie (test.html + upload.php) die je helemaal zelf kan aanpassen. Ff downloaden en uitpakken en dan zie je wel wat ik bedoel.

Vlinders moet je volgen, niet vangen...

Pagina: 1