[php] ftp client download probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Zoals sommige van jullie wel zullen weten ben ik een ftp client in php aan het maken. Mijn site draait op dit moment op mijn eigen apache server onder windows XP (dit wordt linux).

Nu heb ik het volgende stukje code om bestanden te downloaden. Door op het bestand te klikken wordt het bestand naar de map d:/downloadtest gedownload. Dit moet later nog anders worden. Dan moeten mensen zelf kunnen opgeven waar het bestand neergezet moet worden.

code:
1
2
$destination = "D:/downloadtest/$localFile";
$download= @ftp_get($conn, $destination, $currFile, FTP_BINARY);


Nu is er 1 klein probleempje: Als iemand anders mijn site test en hij probeert het bestand te downloaden, dan gaat het fout. Het bestand wordt in MIJN map gezet op MIJN computer ipv op de computer waar de site is geopend 8)7. Hoe kan ik zorgen dat het bestand ook daadwerkelijk bij de downloader komt en niet op mijn computer wordt gezet?

Verder is er nog iets raars. Als er iets wordt gedownload krijg je de volgende melding:
code:
1
Notice: Use of undefined constant download - assumed 'download' in D:\sites\ftpaccess\ftp.php on line 302

Wat houdt dit in en hoe kom ik er van af? Dit is line 302 plus de volgende paar lines:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if(!download)
{
echo "upload failed!";
}
else
{
echo "File download complete!<br>$localFile downloaded to $destination<br><br>";
?>
[img]'parent.png'>
<a[/img]'>
..
</a>
<br>
<?php
}

Acties:
  • 0 Henk 'm!

Verwijderd

PHP is een server-side taal. Alle code wordt door de server uitgevoerd. Als je PHP dus voor FTP client laat spelen, komen gedownloade bestanden op de server terecht. Ik ben bang dat je een enorme denkfout hebt gemaakt ;)

Die notice krijg je omdat er had moeten staan: if(!$download), met $ erbij dus.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ah ok, die $ ontbrak idd. Maar het MOET mogelijk zijn om die bestanden goed te kunnen downloaden. Er zijn zat voorbeeldprogramma's waar alles wel goed werkt en ook alleen maar gebruik maken van php.

Acties:
  • 0 Henk 'm!

  • Andre-85
  • Registratie: April 2003
  • Niet online

Andre-85

Sid

Ik heb ook is met de gedachte gelopen om een webbased ftp client te maken ik ben er eigenlijk nooit echt aan toe gekomen maar ik heb nog wel wat leesvoer voor je. http://www.raditha.com/php/ftp/ en in jou geval is dit interessant.
Verwijderd schreef op 29 augustus 2004 @ 16:03:
PHP is een server-side taal. Alle code wordt door de server uitgevoerd. Als je PHP dus voor FTP client laat spelen, komen gedownloade bestanden op de server terecht. Ik ben bang dat je een enorme denkfout hebt gemaakt ;)

Die notice krijg je omdat er had moeten staan: if(!$download), met $ erbij dus.
Heb je gelijk in maar het is wel mogelijk om een webbased ftp client te ontwikkelen
kijk maar is op http://www2ftp.com of op http://www.net2ftp.com

Lorem
Whenever we feel the need to comment something, we write a method instead. - Martin Fowler
People who think they know everything really annoy those of us who know we don't - Bjarne Stroustrup


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
Verwijderd schreef op 29 augustus 2004 @ 16:03:
PHP is een server-side taal. Alle code wordt door de server uitgevoerd. Als je PHP dus voor FTP client laat spelen, komen gedownloade bestanden op de server terecht. Ik ben bang dat je een enorme denkfout hebt gemaakt ;)dus.
Je kan toch gewoon met PHP het bestand van de FTP server halen en deze vervolgens ter download aanbieden met de juiste http headers?

Acties:
  • 0 Henk 'm!

  • Jimbolino
  • Registratie: Januari 2001
  • Laatst online: 20-09 08:54

Jimbolino

troep.com

ik neem aan dat je de voorbeelden hebt van: http://nl.php.net/manual/en/ref.ftp.php

als de file eenmaal op de server staat moet je hem laten downloaden door de client...
hiervoor moet ie wel helemaal op de server staan, anders moet je met streams gaan werken...

The two basic principles of Windows system administration:
For minor problems, reboot
For major problems, reinstall


Acties:
  • 0 Henk 'm!

  • Mawlana
  • Registratie: Juli 2002
  • Laatst online: 01:02
djluc schreef op 29 augustus 2004 @ 16:22:
[...]

Je kan toch gewoon met PHP het bestand van de FTP server halen en deze vervolgens ter download aanbieden met de juiste http headers?
Ja, dat is mogelijk. Maar... wil je dat wel? Als de client een bestand wil downloaden, moet de server het én downloaden én uploaden (2x zoveel dataverkeer). Ook moet de server redelijk wat cache-ruimte nodig hebben (stel dat ik als client een bestand van 600MB wil downloaden, dan moet er op de server minstens 600MB vrije ruimte zijn).
Pagina: 1