【问题标题】:PHP remove space from a stringPHP从字符串中删除空格
【发布时间】:2012-03-25 00:49:11
【问题描述】:

我有这段代码通过添加上传日期来重命名文件,但我还想删除所有空格

rename("./uploads/" . "$directory/" . $mvcfile->FileName , "./uploads/" . "$directory/" . $data . "_" . $mvcfile->FileName);

我试过了

str_replace (" ", "", $mvcfile->FileName);

但它不起作用。

知道为什么吗?我对 PHP 很陌生:什么是“->”?这可能是障碍吗? 谢谢

【问题讨论】:

  • -> 是对象运算符。它表示对象属性或方法。在这种情况下,FileName 是对象实例$mvcfile 的属性。见this guide
  • 你什么时候打电话给str_replace()?您应该在rename() 之前调用它。你的语法是正确的,它应该可以工作..

标签: php string str-replace spaces


【解决方案1】:

str_replace 返回剥离后的字符串——它不能直接作用于参数 3(因为 str_replace 的函数签名没有列出任何参数作为参考)

【讨论】:

  • 如果我先调用 str_replace 然后 rename() 它就可以了。谢谢
【解决方案2】:

这样的事情可能会起作用:

$data = time(); // gets the unix timestamp
rename("./uploads/$directory/" . $mvcfile->FileName , "./uploads/$directory/" . $data . "_" . str_replace(" ","",$mvcfile->FileName));

这是假设 $mvcfile->FileName 中的内容只是文件名,而不是路径。

【讨论】:

    【解决方案3】:

    应该是:

    $mvcfile->FileName=str_replace(" ", "", $mvcfile->FileName);
    

    str_replace() 返回一个字符串,所以你应该再次将你的变量初始化为它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-21
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多