私はそれを理解することができないように思われるので、助けを求めてより多くの聴衆に到達するために、これをPyroCMSフォーラムとクロスポストしています。
PyroCMSファイルライブラリを使用して複数のファイルをアップロードしようとすると、問題が発生します。ライブラリを呼び出すときにファイルを単独でアップロードするように見えます。また、ライブラリをバイパスしてmove_uploaded_fileを介してテストするときにファイルをアップロードすることもできます。コントローラーで次の(少し削除された)コードを作成しました。
public function upload($id)
{
// Folder selected or redirect
$id or redirect('admin/mis/resources');
// Run on validation
if ($_FILES)
{
if (count($_FILES['userfile']['name'] > 0))
{
foreach ($_FILES['userfile']['name'] as $file)
{
$upload = Files::upload($id, $file);
}
}
redirect('admin/vle/resources/contents/'.$id);
}
$this->template->build('admin/resources/upload');
}
ただし、このコードを実行すると、ファイルはアップロードされません。アップロードを出力すると、次のメッセージが表示されます。
配列([ステータス]=>[メッセージ]=>
アップロードするファイルを選択していません。
Files ::uploadに複数のファイルを渡す方法を一生理解できないようです。私は何かが欠けていると確信しています。ただし、テスト目的でコードをローカルでこれに変更すると、ファイルが正常にアップロードされるため、一般的にファイルをアップロードできないわけではありません。
if($_FILES)
{
if(count($_FILES['userfile']['name']))
{
foreach ($_FILES['userfile']['name'] as $file)
{
$img = "c:/wamp/www/testupload/files/".$file;
move_uploaded_file($_FILES['userfile']['tmp_name'][$i], $img);
}
}
}
ファイルライブラリのアップロード方法はこちらhttps://github.com/pyrocms/pyrocms/blob/2.2/develop/system/cms/modules/files/libraries/Files.php#L333
私は頭がいくらか回転しているところまでいろいろなことを試しましたが、今はこれを理解しようとしています。だから誰かが助けることができればそれはありがたいです。