Получение загруженного файла Имя не работает в php - PullRequest
0 голосов
/ 15 марта 2019

Для загрузки изображений я использую этот скрипт.

<form id="fileupload" action="<?php echo $this->getUrl('customimport/image/import');?>" method="POST" enctype="multipart/form-data">
                        <input type="hidden" name="form_key" value="<?php echo $this->getFormKey(); ?>" />
                        <fieldset class="fieldset">        

                            <div class="fieldset">
                                <label class="label" for="name"><span><?php echo __('Upload Images') ?></span></label>
                                <div class="control">
                                    <input name="image_import[]" id="image_import" value="" class="input-text" type="file" accept=".jpg,.png,.jpeg" multiple data-validate="{required:true}"/>
                                </div>
                                <div>
                                <output id="list"></output></div>
                            </div>
                            <div class="actions-toolbar">
                                <div class="primary">
                                    <button type="submit" title="<?php echo __('Submit') ?>" class="action submit primary">
                                        <span><?php echo __('Submit') ?></span>
                                    </button>
                                </div>
                            </div>  
                        </fieldset>
                    </form>

У меня есть названия изображений, как следует

СК-SRIPL-2857_1.JPG СК-SRIPL-2857_2.JPG СК-SRIPL-2857_3.JPG

Я должен проверить, существует или нет SKU-SRIPL-2857_1

Я попробовал следующий код

$file_name=$file["name"];
 print_r( $file_name); exit;

Что дает вывод как

SKU-SRIPL-2857_1.1552627015.jpg

Я думаю, что это добавляет некоторую временную метку к имени изображения. Я использую PHP 7.0. Я также попробовал другой код.

 $base_filename =  pathinfo($file_name, PATHINFO_FILENAME);
  $file_to_sku = explode("_",$base_filename);

Эти два также дают одинаковые выходные данные, такие как 1.1552627015 и т. Д.

Сценарий загрузки файла. этот скрипт под одним из forloop для чтения нескольких файлов одновременно.

 $file_name=$file["name"];
                $file_tmp=$file["tmp_name"];
                $generic_path = $vendorId.'/'.str_replace("-", "", date("Y-m-d"));
                 if(!is_dir($path."/media/import/".$generic_path)) {          
                    mkdir($path."/media/import/".$generic_path,0777,true);
                  } 
                $image_path = $path."/media/import/".$generic_path.'/'.$file_name;
                $ext=pathinfo($file_name,PATHINFO_EXTENSION);

                if(in_array($ext,$extension))
                {
                    if(file_exists("pub/media/import/".$generic_path.'/'.$file_name)){              
                        $filename=basename($file_name,$ext);
                        $file_name=$filename.time().".".$ext;
                    }
                    move_uploaded_file($file_tmp,"pub/media/import/".$generic_path.'/'.$file_name);
                    $base_filename =  pathinfo($file_name, PATHINFO_FILENAME);
                      print_r( $file_name); exit;
...