Toon posts:

[php 5] ftp probleem

Pagina: 1
Acties:
  • 48 views sinds 30-01-2008

Verwijderd

Topicstarter
hey all, ik wil een ftp upload-functie maken, alleen hij werkt niet helemaal :(
kheb de volgende code:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
if($access == 2){
echo("
<form action=\"upload2.php\" method=\"post\" enctype=\"multipart/form-data\" name=\"form1\">
  <p>Artiest:<br>
    <input name=\"artiest\" type=\"text\" id=\"artiest\">
</p>
  <p>Song:<br>
    <input name=\"song\" type=\"text\" id=\"song\">
</p>
  <p>Bestand:<br>
    <input type=\"file\" name=\"file\">
</p>
  <p>
    <input type=\"submit\" name=\"Submit\" value=\"Uploaden\">
  </p>
</form>");}
else{echo("Fout tijdens inloggen.");}


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* Ophaal service */
$artiest = $_POST['artiest'];
$song = $_POST['song'];
$file = $_POST['file'];
$md5 = md5($song);
$name = "$md5.mp3";
/* FTP feest */
$ftp_connect = ftp_connect("mastahserver.student.utwente.nl");
$ftp_login = ftp_login($ftp_connect, "****", "****");
$ftp_upload = ftp_fput($ftp_connect, $name, $file, FTP_BINARY);
if($ftp_upload){
echo("Succesvol geupload");}
/* DB feest */
$id = "";
mysql_query("INSERT INTO muziek (id, artiest, song, md5) VALUES ('$id', '$artiest', '$song', '$md5')") or die(mysql_error());


de eerste code die ik gaf, zie ik wel, maar de 2e werkt om de een of andere rede niet... :(
weet iemand waar ik de fout in ging, het gaat hier om php5 en mysql (de nieuwste) op linux

[ Voor 40% gewijzigd door Verwijderd op 08-01-2005 12:39 ]


  • vriesdude
  • Registratie: Februari 2002
  • Laatst online: 14-05 16:32
krijg je foutmeldingen, heb je Error reporting op ALL staan ?
Je zou eventueel ook uit kunnen zoeken bij welke stap het mis gaat.

/dev/null


Verwijderd

Topicstarter
hij doet gewoon helemaal nix op die page, geen errors etc..

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
en wat als iemand als artiest
code:
1
', '', ''); DROP TABLE muziek;
opgeeft?

[ Voor 25% gewijzigd door Michali op 08-01-2005 13:14 ]

Noushka's Magnificent Dream | Unity


Verwijderd

Topicstarter
nix :P maar ga nu ff nie offtopic

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Verwijderd schreef op zaterdag 08 januari 2005 @ 12:36:
hij doet gewoon helemaal nix op die page, geen errors etc..
Bovenaan je pagina error_reporting(E_ALL) zetten, zoals hierboven al gezegd is.
Michali schreef op zaterdag 08 januari 2005 @ 13:14:
en wat als iemand als artiest
code:
1
', '', ''); DROP TABLE muziek;
opgeeft?
offtopic:
De wondere wereld van SQL injectie is natuurlijk goed om te bekijken, maar is voor dit probleem nou niet echt relevant he? ;)


Edit: Sowieso doe je nogal vaag in je query. Ik neem aan dat id een auto_increment veld is. Waarom staat het dan toch in je query? Je kan dat veld geheel eruit laten.

[ Voor 16% gewijzigd door NMe op 08-01-2005 13:21 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

Zoals hierboven gezegd, probeer eens uit te vogelen waar het misgaat.
Zoals in:
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
/* Alle errors */
error_reporting(E_ALL);

/* Ophaal service */
$artiest = $_POST['artiest'];
$song = $_POST['song'];
$file = $_POST['file'];
$md5 = md5($song);
$name = "$md5.mp3";

/* DEBUG */
echo "POST data:<br />";
echo "artiest: $artiest<br />song: $song<br />md5: $md5<br />name: $name<br />";

/* FTP feest */
$ftp_connect = ftp_connect("mastahserver.student.utwente.nl") or die("FTP barfed!");
$ftp_login = ftp_login($ftp_connect, "****", "****") or die("Login failed!");
$ftp_upload = ftp_fput($ftp_connect, $name, $file, FTP_BINARY);
if($ftp_upload){
    echo("Succesvol geupload");
} else {
    die("Upload failed!");
}
/* DB feest */
$id = "";
mysql_query("INSERT INTO muziek (id, artiest, song, md5) VALUES ('$id', '$artiest', '$song', '$md5')") or die(mysql_error());

Moet je trouwens niet eerst naar je database verbinden? Of heb je dat al gedaan?

[ Voor 17% gewijzigd door MTWZZ op 08-01-2005 13:26 . Reden: error_reporting vergeten :-| ]

Nu met Land Rover Series 3 en Defender 90


Verwijderd

Topicstarter
ja daarmee heb ik verbonden...

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Volgens mij wil jij helemaal niet geholpen worden. :/ Je beantwoord steeds maar één vraag, terwijl er hierboven veel meer gezegd is. Heb je überhaupt wat geprobeerd met error_reporting(E_ALL)?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Als je nou eens een voor een de regel gaat commenten om te zien waar de fout ligt. Dan weet je iig waar de fout zit.

[ Voor 13% gewijzigd door Michali op 08-01-2005 13:48 ]

Noushka's Magnificent Dream | Unity


Verwijderd

Topicstarter
ok dan, hier alle info:
hij geeft GEEN errors aan, ook niet met error_reporting(E_ALL)...
Hij gaat tot het debug gedeelte, en daarna niet verder... hij upload dus nix de ftp in, en zet nix in de db.
id = auto_increment, ja dat klopt dus
de ftp-server is by the way een localhost server, dus hebik het vervangen door:

$ftp_connect = ftp_connect("localhost");

iemand enig idee?

  • HuMon
  • Registratie: Augustus 2004
  • Laatst online: 14-05 08:59
In dit soort gevallen zou ik zelf enkele testregels in het bestand zetten.
Na de regel: $artiest = $_POST['artiest'];
dit neerzetten: echo "$artiest";
Weet je in ieder geval of de variabelen goed door komen.

Bij deze query is de id niet nodig is toch auto_increment:
mysql_query("INSERT INTO muziek (artiest, song, md5) VALUES ('$artiest', '$song', '$md5')") or die(mysql_error());

En ook deze regel zou ik domweg op het scherm zetten:
echo "INSERT INTO muziek (artiest, song, md5) VALUES ('$artiest', '$song', '$md5')";
zie je meteen wat PHP in de database probeert te zetten.

Verwijderd

Topicstarter
hij laat de variables wel goed door, en hij wilt het wel in de db pleuren, maar hij wilt nie uppen :S
volgens mij stuurt php de file die ik wil uppen niet door 8)7

[ Voor 25% gewijzigd door Verwijderd op 08-01-2005 14:21 ]


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 12:37

Kees

Serveradmin / BOFH / DoC
jij geeft een file op met je post script, de server gaat bedenken welke file dat is en besluit locaal je $file te gaan zoeken in je pwd. Die is er niet.

Ga eerst eens zoeken op uploadscriptjes en die bestuderen?

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • ZjieB
  • Registratie: Juli 2002
  • Laatst online: 31-10-2025
Kees schreef op zaterdag 08 januari 2005 @ 14:32:
jij geeft een file op met je post script, de server gaat bedenken welke file dat is en besluit locaal je $file te gaan zoeken in je pwd. Die is er niet.

Ga eerst eens zoeken op uploadscriptjes en die bestuderen?
Klopt. Met jouw script voer je een upload uit van een bestand op je server naar de gedefinieerde ftp-site.

  • EgoH
  • Registratie: Oktober 2001
  • Laatst online: 01-04 08:11
In je $_POST['file'] staat dus niet het path van het geuploade bestand.
Daardoor werkt je ftp upload dus ook niet.

Hier een handige link: http://nl.php.net/manual/...s.file-upload.post-method

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08:31

Creepy

Tactical Espionage Splatterer

Kees schreef op zaterdag 08 januari 2005 @ 14:32:
Ga eerst eens zoeken op uploadscriptjes en die bestuderen?
Lijkt me een goed plan. Lees vervolgens ook P&W FAQ - Leer **** debuggen!! eens door zodat je zelf fouten kan gaan achterhalen in je script en als je daarna nog steeds problemen hebt en je hebt P&W FAQ - De "quickstart" eens doorgekeken dan kan je gerust een nieuw topic openen :)

Oh, en welkom op GoT uiteraard! :Y)

[ Voor 4% gewijzigd door Creepy op 08-01-2005 15:20 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.