2016-07-31 9 views
0

イメージアップロードフォームを作成しています。データベースに追加してアップロードフォルダに追加するときにイメージにユーザーの名前と犬の名前を付ける必要があります。ファイル名の文字列からスペースを削除するPHP

私は現在、これは次のように働いている:私は、フォームからユーザー 名と犬の名前で引っ張って私のスクリプトの先頭にPOSTメソッドを使用し

  1. 私はその後、私は以下を使用し、テーブルに挿入するときはその後、私は私のデータベース

$user_name = $_POST['user_name']; 
$dog_name = $_POST['dog_name']; 

$file_name = $imgDir . $user_name .'-'. $dog_name .'-'. $random_number . $ext; 

に挿入

  • をアップロードされたファイル/画像の名前を変更するためにその情報を使用します。

    'file_name' => str_replace("../path/to/images/", "", $file_name), 
    

    ファイル名の現在の出力は次のとおりです。 Joh n-Fido-123456.jpg

    ユーザーがこのような姓を入力した場合、ファイル名のスペースを削除するにはどうすればよいですか?

    ジョン・ドウ・ファイドドウ-123456.jpg


    更新:@HiDeoのおかげで、私は彼が掲示し、このようにそれを把握することができたというDUPのリンクを使用していました。

    私は必要な名前をつかむためにPostメソッドを使います。そのように空白をストライプ化し、データベース内のファイル名とフォルダ内の実際のイメージを処理しました。

    を使用でき
    $user_name = $_POST['user_name']; 
    $dog_name = $_POST['dog_name']; 
    
    
    $user_name = preg_replace('/\s+/', '', $user_name); 
    $dog_name = preg_replace('/\s+/', '', $dog_name); 
    
  • +0

    @HiDeo thトリックをやった!ありがとう。 – echo

    答えて

    5

    'file_name' => str_replace(" ", "", $file_name); 
    

    さて、これは何も、すべての白のスペースに置き換えられます...(つまり、すべての空白を削除)...

    コード提案されますあなたのコードに基づいて

    希望することができます:

    +0

    これは機能しますが、イメージへの完全なパスを残します。 もし '' file_name '=> str_replace( "../ path/to/image /"、 ""、$ file_name)、 ' 私のファイル名のフィールドに空白が入ります。データベース..? – echo

    +0

    いいえ、あなたはその行の後にこの解決策を試してください... –

    +0

    Hmmm ...いいえ、まだファイルへのパスを残します。また、フォルダ内の画像をチェックすると、画像には姓と名の間にスペースが残っています。 "ファイル名" => str_replace( ""、 "、$ file_name)、 ' – echo

    関連する問題