Je développe un cms.Comment puis-je récupérer le chemin d'accès au fichier que je télécharge?
les clients Table contiennent de nombreux champs et l'un d'entre eux est la légende de l'image.
Lorsque l'utilisateur télécharge un fichier (image), le fichier est stocké dans un dossier public.
Le champ de légende d'image récupère le nom final du fichier et le stocke dans la table.
Le problème est lorsque l'utilisateur veut mettre à jour les informations. Si l'utilisateur ne veut pas changer l'image, quand il clique sur "mise à jour", le champ de légende d'image est vide, ainsi le chemin vers l'image devient nul et maintenant il montre juste (aucune image).
Heres ce que ive essayé de le faire:
Le formulaire 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>
Et maintenant, le code PHP upload (ive juste inséré le code que je voulais u montrer) :
// 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;
}
Je sens que je dois manquer quelque chose, car il me semble que $ row ['nome_foto'] et $ row ['image_caption'] sont tous les deux le nom du fichier? – da5id
oui! J'ai changé les noms ici pour que les gens comprennent, mais oubliez de changer dans le PHP. – dutraveller