对于上传图像,我正在使用此脚本。
<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>
我的图像名称如下
SKU-SRIPL-2857_1.JPG SKU-SRIPL-2857_2.JPG SKU-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;