Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Upload pliku, formularz update.
Forum PHP.pl > Forum > PHP
gawcio90
Witam, czy jest możliwość aby w formularzu edycji gdzie muszę wybrać plik do uploadu, pokazało się, że plik już jest wrzucony? Żeby w miejscu gdzie jest: "Nie wybrano pliku" była np, nazwa pliku.

Pozdrawiam.
krzysiekk
zakladajac ze jest to edycja tak jak piszesz ,a plik wysylany jest na serwer w jakims innym momencie i jego nazwa zapisywana jest w bazie to można polem hidden skoro w edycji plik nie jest zmieniany


pewnie problem jest ze to jest jednym formularzem robione ?

ale to można zrobić tak ze sprawdzasz czy nie jest wywoływany edit jesli tak to wstawiasz pole input type=hidden jesli nie to input type=file
gawcio90
Chodziło mi o wyświetlenie w formularzu edycji jakiejś informacji, np że odnośnik do zdjęcia już istnieje.

Próbowąłem zrobić coś w tym stylu:

  1. <input name="zdjecie" type="file" size="35"/> <? if (!empty($zdj)) {echo '<a href="'.$zdj.'" target="_blank"><font color="green">[Z]</font></a>';} else {echo "brak";} ?>


Tylko ten if mi nie działa, nie ważne czy rekord "zdj" w bazie jest pusty czy tez nie, zawsze wyświetla się zielone "Z" tylko raz z poprawnym odnośnikiem a raz bez.
ssstrz
pokaż miejsce gdzie deklarujesz $zdj.
Co rozumiesz przez pojęcie niepoprawny odnośnik?
instrukcję php otwórz tak:
  1. <?php


gawcio90
W sensie, że gdy zmienna $zdj zawiera adres do zdjęcia to wtedy jest w porządku. Problem jest kiedy zmienna $zdj jest pusta, wtedy instrukcja if nie przechodzi do else tylko dalej traktuje zmienną $zdj jak by coś zawierała.

Po Twojej sugestii nic się nie zmieniło.

Deklaruje ją w taki sposób:

  1. $zdj=mysql_result($result,$i,"zdj");
ssstrz
  1. <input name="zdjecie" type="file" size="35"/> <?php if ($zdj!=false) {echo '<a href="'.$zdj.'" target="_blank"><font color="green">[Z]</font></a>';} else {echo "brak";} ?>

pomoglo?
gawcio90
W takiej sytuacji cały czas mi wychodzi "brak", nawet jeśli zmienna $zdj zawiera link do zdjęcia.
joordan
użyj
  1. fopen('img/'.$nazwa_zdjęcia)
  2. //np.
  3. fopen('img/'.$_FILES['plik']['name'])
  4.  


Jeśli zwróci falsse to znaczy że plik nie istnieje jeśli true to znaczy że istnieje
gawcio90
Nie rozumiem czemu to nie działa...
Raz zmienna $zdj zawiera przykładowo:

Kod
data/files/de17646f10bcd5be03abd81ecaaa88eb.jpg


Innym razem jest pusta. Więc prosty if z wykorzystaniem empty() bądź ($zdj != ""), bądź (!$zdj) powinien działać bez problemu.


@joordan - nie do końca rozumiem jak miałbym to wykorzystać. Coś w tym stylu?

  1. $test=fopen($zdj);
  2. if ($test == true){
  3. echo jest;}
  4.  
  5. else{
  6. echo brak;}


EDIT:

  1. <input name="zdjecie" type="file" size="35"/> <?php if ($zdj != " ") {echo '<a href="'.$zdj.'" target="_blank"><font color="green">[Z]</font></a>';} else {echo "brak";} ?>


Tak działa prawidłowo, próbowałem już tak wcześniej ale w porównaniu miałem błąd, tzn nie dałem spacji pomiędzy cudzysłowami..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.