php - 重命名上传图片

标签 php javascript

我正在将图像上传到服务器,需要将_代替图像中的间隙。就像如果图像的名称是 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

http://codepad.org/MQoEZ2wv

关于php - 重命名上传图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14108673/

相关文章:

javascript - 从模态弹出按钮调用 javascript 函数

php - 使用 Laravel 5.2 的动态下拉列表

php - 在 Apache 中不使用 SSL 在服务器之间发送加密数据

php - 在 PHP 中编写更少的类 Java 对象和更多类似于 Clojure 的函数式编程原则的代码,我应该遵循什么原则?

javascript - JavaScript Promise 到底是什么时候创建的?

javascript - 将 View html 渲染为字符串

javascript - jQuery 自动完成 - 防止调用特定按键(左右箭头)

php - 如何通过 Eloquent ORM 选择 json 之类的键和值数组?

php - 使用 preg_match_all PHP 限制结果数量

c# - 在客户端点击隐藏div