BlackbitDigitalCommerce / pimcore-data-director

Import Bundle for Pimcore
16 stars 3 forks source link

Import from FTP folder #82

Open kaurov opened 1 year ago

kaurov commented 1 year ago

I need to import .xml files from FTP and delete them there. host: ftp.some.server.com username: user@some.server.com password: pas)^{word folder: / files mask: .xml

I tried such a configuration but it does not work: ftp://user:pas)^{word@some.server.com/ ftp://user:pas)^{word@some.server.com/*.xml

What is wrong?

BlackbitDevs commented 1 year ago

Actually looks good. Any error log? Does the password really contain such special characters like )^{? Maybe this is the cause (but actually this uses Flysystem so it should work...)

kaurov commented 1 year ago

Password is indeed even more complicated, that is a sample.

Log messages:

For both: [INFO] Could not find any data (or it is not readable) but there are definitely files -- i see them using Filezilla.

For 'ftp://user:pas)^{word@some.server.com/' [WARNING] E_WARNING: Undefined array key "path" in /vendor/blackbit/data-director/lib/Pim/Parser/ResourceBasedParser.php, line 119

kaurov commented 1 year ago

How should look like the curl command for that ftp-folder? I would like to give a try -- perhaps that is some php extension misconfiguration.

BlackbitDevs commented 1 year ago

First thing I always do is to update to latest stable to not fix bugs again which have been already fixed. Your error message [WARNING] E_WARNING: Undefined array key "path" in /vendor/blackbit/data-director/lib/Pim/Parser/ResourceBasedParser.php, line 119 tells me that there probably is a newer version because in line 119 there is nothing with path.

If the problem still exists or you do not want to update: Is it surely normal FTP and not FTPS or SFTP? Is it port 21?

If all is true, then you could debug in ResourceBasedParser.php in the part which begins with if (strpos($this->source, 'ftp://') === 0) { - there you see the Flysystem calls and especially the call for $fileSystem->listContents(basename($urlParts['path']), FilesystemReader::LIST_DEEP) may bring you interesting information.

Maybe curl would also be an option but actually I do not like to use a second best alternative instead of fixing the best.

I can also take a look if you want. If you are interested, please write to info@blackbit.de

kaurov commented 1 year ago

please write CURL command