Trim 一个纯文本的字符串,在 PHP 中不留任何空格?

Trim a string purely to text, without leaving any whitespace in PHP?

我有一个图片上传脚本,目前运行良好。它以 jQuery fileupload 运行。 PHP 脚本为上传的图像生成一个新名称,并通过 exit($imgname); 给出。奇怪的是,我总是收到很多空格的回复,就像你在图片中看到的那样。

到截图:
***

我的整个网站都使用 jQuery,我考虑过使用 $.trim() 将结果 trim 转换为纯文本,但我不知道这是否可行一个好主意,因为我认为这不适用于任何常见的浏览器。

补充: 最奇怪的是,它在过去工作得很好,没有任何空格。今天我上传了一些东西,突然它做了这样的事情...

PHP:

$upload  = $image->upload(); 
$imgname = $image->getName();
$imgmime = $image->getMime();
$fullimgname = $imgname . "." . $imgmime;

if($upload){
    // POST TO DATABASE ETC.

    exit($fullimgname);
}

尝试使用正则表达式,因为它可能会考虑完整的 unicode 字符集等:

$imgname = preg_replace('/^\s+/u', "", $imgname);

虽然看起来ltrim()应该够了

白色的步伐可能来自 PHP 文件中的其他地方...

寻找 <?php?> 括号外的空格。

像这样,例如:

        // <-- 4 tabs on this line
<?php
$upload  = $image->upload(); 
$imgname = $image->getName();
$imgmime = $image->getMime();
$fullimgname = $imgname . "." . $imgmime;

if($upload){
  // POST TO DATABASE ETC.

  exit($fullimgname);
}