imはCMSを開発しています。アップロードしたファイルのパスをどのように取得できますか?
テーブルクライアントには多くのフィールドがあり、そのうちの1つは画像キャプションです。
ユーザーがファイル(イメージ)をアップロードすると、ファイルはパブリックフォルダに格納されます。
イメージのキャプションフィールドは、ファイルの最終的な名前を取得し、テーブルに格納します。
問題は、ユーザーが情報を更新したいときです。ユーザーが画像を変更したくない場合、「更新」をクリックすると、画像キャプションフィールドが空になるので、画像へのパスはnullになり、今度は(画像なし)表示されます。
アイブがやろうとして何をHERES:
HTMLフォーム:
<p>
<label for="image_caption">Image Caption:</label>
<input name="image_caption" id="image_caption" type="text" class="formbox" size="60" disabled="disabled" value="<?php echo htmlentities($row['image_caption']); ?>" />
</p>
<p>
<label for="image">Insert image:</label>
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo MAX_FILE_SIZE; ?>" />
<input type="file" name="image" id="foto" value="<?php echo htmlentities($row['image_caption']); ?>"/>
</p>
<p>
<?php
if($row['image_caption']!= ""){
?>
<img src="../images/clientes/<?php echo $row['image_caption'];?>" width="194" height="145" title="Imagem cliente" class="floatright"/>
<?php
}else{
?>
<img src="../images/sem_imagem.gif" width="194" height="145" title="Imagem não disponível" class="floatright"/><br />
<?php
}
?>
</p>
<p>
<input type="submit" name="update" value="Update" />
<input name="cliente_id" type="hidden" value="<?php echo $row['codigo']; ?>" />
</p>
そして今アップロードPHPコード(私はuのを見せたかっただけで挿入されたコードをアイブ) :
// This checks if the file input is empty, and if it is, insert the value from the table that was previously inserted
if(empty($_FILES['image']['name'])){
$image_caption = $row['image_caption'];
}else{
$image = str_replace(' ', '_', $_FILES['image']['name']);
// move the file to the upload folder and rename it
move_uploaded_file($_FILES['image']['tmp_name'],UPLOAD_DIR.$foto);
$image_caption = $image;
}
$ row ['nome_foto']と$ row ['image_caption']の両方がファイルの名前であるように見えるので、私は何かが欠けているように感じますか? – da5id
はい!私は人々の理解のためにここに名前を変更したが、PHPで変更することを忘れてしまった。 – dutraveller