cakephpで複数のファイルアップロードに関する問題があります。データベースで複数のファイルをアップロードするPHPコード
複数のファイルをアップロードしようとしましたが、テーブルに複数のエントリを挿入する必要がありますが、これを行うことはできません。
Exの場合 - フォームから3枚の写真をアップロードした場合、ファイル名とともに表に3行を挿入する必要があります。
public function add() {
$this->Driver->create();
if ($this->request->is('post')) {
for($i=1;$i<4;$i++)
{
if(empty($this->data['Driver']['document'.$i]['name'])){
unset($this->request->data['Driver']['document'.$i]);
}
if(!empty($this->data['Driver']['document'.$i]['name']))
{
$file=$this->data['Driver']['document'.$i];
$ary_ext=array('jpg','jpeg','xls','docx'); //array of allowed extensions
$ext = substr(strtolower(strrchr($file['name'], '.')), 1); //get the extension
if(in_array($ext, $ary_ext))
{
move_uploaded_file($file['tmp_name'], APP . 'outsidefiles' .DS. time().$file['name']);
$this->request->data['Driver']['document'.$i] = time().$file['name'];
}
}
}
if ($this->Driver->save($this->request->data))
{
//echo "<pre>";print_r($this->request->data); exit();
$this->Session->setFlash('Your post has been saved.');
$this->redirect(array('action' => 'add'));
}
else
{
$this->Session->setFlash('Unable to add your post.');
}
}
}
add.ctp
<h1>Add Post</h1><?php
echo $this->Form->create('Driver', array('url' => array('action' => 'add'), 'enctype' => 'multipart/form-data'));
echo $this->Form->input('address',array('div' => false, 'class' => 'form-control user-name'));
for($i=1; $i<4; $i++)
{
?>
<div id="attachment<?php echo $i;?>" <?php if($i !=1) echo "style='display:none;'";?> >
<div>
<?php echo $this->Form->input('document'.$i,array('type'=>'file','label' => false,'div' => false));?>
</div>
<div id="attachmentlink<?php echo $i;?>" <?php if($i==3) echo "style='display:none;'";?>><a href="javascript:void(0);" onclick="show('attachment<?php echo $i+1;?>'); hide('attachmentlink<?php echo $i;?>');">Add Another Attachment</a></div>
</div>
<?php } ?>
<?php
echo $this->Form->end('Save');
?>
何*問題*正確に?あなたは問題を絞り込んで詳細を提供する必要がありますか?エラーなどありますか? – jeroen
同じ質問http://stackoverflow.com/questions/36888022/php-code-to-upload-multiple-images-cakephp – Salines
私は私のフォームから3つの画像を選択し、次に3行のデータを挿入する必要があると仮定する必要があります.. 。私は2つの画像を選択した場合、2行をdatabseのように挿入する必要があります。 –