Forestmountain
Posts: 7
Joined: Mon Apr 19, 2021 7:32 am
Location: The Netherlands

FTP upload bestand van Raspi naar eigen website lukt niet (OPGELOST)

Mon Apr 19, 2021 7:55 am

Hallo,
Ik ben nieuw hier op dit forum, dus een korte introductie: Hans, 50 jaar, sinds een tijdje aan het stoeien met de Raspi, redelijk bekend met windows-pc’s, levensgenieter in Drenthe.

Maar nu het probleem wat ik wil voorleggen.
Op mijn Raspi wordt door een stukje software automatisch een 'export.txt' bestand aangemaakt.
Dit bestand moet worden geupload naar de map pws binnen mijn eigen website. Deze website draait niet op de Raspi maar is ergens anders gehost.
Via FTP heb ik toegang tot deze website met een gebruikersnaam en wachtwoord. Dit werkt ook, gecontroleerd met een Windows-pc (via verkenner en met FileZilla).
Op de Raspi is ftp geïnstalleerd mbv sudo apt-get install ftp.
Met het onderstaande php-script (myftp.php) zou ik toch dit 'export.txt' bestand moeten kunnen uploaden? Het script heeft alle rechten om door iedereen uitgevoerd te worden. De rechten van de map waar het script in staat zijn ook voor iedereen vrij gegeven. Ik weet dat FTP niet de meest veilige manier is om te uploaden, maar dat is een andere discussie ;-)
(ivm veiligheid correcte inloggegevens niet weergegeven).

Code: Select all

<?php
$ftp_server="ftp://ftp.mijnwebsite.nl/pws";
$ftp_user_name="gebruiker@mijnwebsite.nl";
$ftp_user_pass="mijnwachtwoord";
$file = "export.txt";//tobe uploaded
$remote_file = "export.txt";

// 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);

ftp_pasv($conn_id, true);

// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
    echo "successfully uploaded $file\n";
    exit;
} else {
    echo "There was a problem while uploading $file\n";
    exit;
    }
// close the connection
ftp_close($conn_id);

?>

Helaas krijg ik na het uitvoeren van dit bovenstaande script steeds de melding:

PHP Warning: ftp_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/html/pws/myftp.php on line 9
PHP Warning: ftp_login() expects parameter 1 to be resource, bool given in /var/www/html/pws/myftp.php on line 12
PHP Warning: ftp_pasv() expects parameter 1 to be resource, bool given in /var/www/html/pws/myftp.php on line 14
PHP Warning: ftp_put() expects parameter 1 to be resource, bool given in /var/www/html/pws/myftp.php on line 17
There was a problem while uploading export.txt


------------------
(program exited with code: 0)
Press return to continue

Waar gaat het fout, of beter gevraagd wat is er fout in dit script?
Het script wat ik gebruik kom ik vaker tegen op internet, dus het lijkt mij dat het zou moeten kunnen werken.
Wie kan mij hier verder mee helpen?
Last edited by Forestmountain on Tue Apr 20, 2021 6:34 am, edited 2 times in total.
There is only one way to find out, do it.

zonstraal
Posts: 161
Joined: Fri Apr 10, 2015 8:50 am
Location: Spain

Re: FTP upload bestand van Raspi naar eigen website lukt niet

Mon Apr 19, 2021 11:53 am

$ftp_server="www.mijnwebsite.nl/pws";
Is dit ook fake?
Normaal is het iets als mijnwebsite.nl of ftp://mijnwebsite.nl

Forestmountain
Posts: 7
Joined: Mon Apr 19, 2021 7:32 am
Location: The Netherlands

Re: FTP upload bestand van Raspi naar eigen website lukt niet

Mon Apr 19, 2021 5:49 pm

Hallo Zonstraal,
Bedankt voor het meedenken.
Het moet inderdaad ftp://ftp.mijnwebsite.nl/pws zijn, tikfoutje van mijn kant. Zal dit hierboven aanpassen.
Overigens is dit in het script op de Raspi wel goed ingevuld. Net nog voor de zekerheid gecontroleerd.
There is only one way to find out, do it.

zonstraal
Posts: 161
Joined: Fri Apr 10, 2015 8:50 am
Location: Spain

Re: FTP upload bestand van Raspi naar eigen website lukt niet

Mon Apr 19, 2021 6:25 pm

Ik heb met honderden websites al met ftp ingelogd maar dat nog nooit gezien.

zeker niet met /pws er achter.
Lukt dat via filezilla wel zo?

Forestmountain
Posts: 7
Joined: Mon Apr 19, 2021 7:32 am
Location: The Netherlands

Re: FTP upload bestand van Raspi naar eigen website lukt niet

Mon Apr 19, 2021 6:44 pm

/pws is de map waarin het bestand ge-upload moet worden.
Maar inmiddels ben ik al wat verder in het script gekomen. Ook dankzij wat meer info van mijn hosting partij. Servernaam bleek verkeerd te zijn. Dit moest de servernaam van mijn hosting zijn in plaats van mijn domeinnaam. Wel vreemd want in Filezilla wordt wel mijn domeinnaam geaccepteerd, maar dat terzijde.
Kortom weer een stap dichterbij de oplossing en gegroeid in de leercurve.
De eerste foutmelding in het rijtje is dus weggewerkt, nog maar 3 te gaan :D
Nu houdt ik nog over:

PHP Warning: ftp_login() expects parameter 1 to be resource, bool given in /var/www/html/pws/myftp.php on line 12
PHP Warning: ftp_pasv() expects parameter 1 to be resource, bool given in /var/www/html/pws/myftp.php on line 14
PHP Warning: ftp_put() expects parameter 1 to be resource, bool given in /var/www/html/pws/myftp.php on line 17
There was a problem while uploading export.txt


------------------
(program exited with code: 0)
Press return to continue

Ik blijf optimistisch en ga nog met diverse instellingen experimenteren. Met vallen en opstaan leer je tenslotte.
There is only one way to find out, do it.

Forestmountain
Posts: 7
Joined: Mon Apr 19, 2021 7:32 am
Location: The Netherlands

Re: FTP upload bestand van Raspi naar eigen website lukt niet

Mon Apr 19, 2021 6:56 pm

He he,
Inmiddels is het mij gelukt om het bestand export.txt naar de map pws op mijn eigen website te uploaden.
Het werkende script ziet er als volgt nu uit.
(ook nu ivm veiligheid correcte inloggegevens niet weergegeven).

<?php
$ftp_server="nameserver.xxxxx.nl";
$ftp_user_name="gebruikersnaam";
$ftp_user_pass="wachtwoord";
$file = "export.txt";//tobe uploaded
$remote_file ="/domains/mijndomein.nl/public_html/pws/export.txt";

// 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);

ftp_pasv($conn_id, true);

// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "successfully uploaded $file\n";
exit;
} else {
echo "There was a problem while uploading $file\n";
exit;
}
// close the connection
ftp_close($conn_id);

?>


Nu nog een uitdaging om dit script automatisch om de 30 seconden te laten uitvoeren.
Maar dat zal waarschijnlijk met een cronjob moeten gaan lukken.
There is only one way to find out, do it.

Return to “Nederlands”