我正在将图像上传到服务器,需要将_代替图像中的间隙。就像如果图像的名称是 Stack Flow.jpg,我需要将其作为 Stack_Flow.jpg 在目录中以及电子邮件中发送。如何通过以下代码实现这一点。我已经尝试过,但没有成功..我以一种形式发送 4 个文件,代码为 ---
$filea = $_FILES['FILE1']['name'];
$fileb = $_FILES['FILE2']['name'];
$filec = $_FILES['FILE3']['name'];
$filed = $_FILES['FILE4']['name'];
$order_image_a='order_'.$orderId.'_'.$filea;
if(!empty($filea)) move_uploaded_file($_FILES['FILE1']['tmp_name'], "../files/$order_image_a");
$order_image_b='order_'.$orderId.'_'.$fileb;
if(!empty($fileb)) move_uploaded_file($_FILES['FILE2']['tmp_name'], "../files/$order_image_b");
$order_image_c='order_'.$orderId.'_'.$filec;
if(!empty($filec)) move_uploaded_file($_FILES['FILE3']['tmp_name'], "../files/$order_image_c");
$order_image_d='order_'.$orderId.'_'.$filed;
if(!empty($filed)) move_uploaded_file($_FILES['FILE4']['tmp_name'], "../files/$order_image_d");
我正在使用以下函数,我如何将其应用于所有四个文件 -
<script>
function convertSpecialChars($str) {
$str = str_replace( " ", "_", $str );
return $str;
}
</script>
最佳答案
这是一个 php 的简单示例:
<?php
$name = "Stack Flow.jpg";
echo preg_replace('/[\s\-]+/', '_', $name );
?>
返回Stack_Flow.jpg
关于php - 重命名上传图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14108673/