Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]<input type='file'> zwraca spacje !?
Forum PHP.pl > Forum > Przedszkole
Konop857
Witam

W skypcie pluginu download mam kawałek kodu, który odpowiada za edycję plików, otóż gdy użytkownik podczas edytowania którejś z pozycji ,,downloadu" zmieni plik, to nowy plik się wgra na serwer a stary kasuje, natomiast gdy użytkownik nie ruszy <input type='file' name='reqFileSource'/> to plik nie powinien się wgrywać ani kasować jak widać poniżej :


  1. if(empty($_FILES['reqFileSource'])) $NewFileSource = $FileToUnlink; else
  2. {
  3. $NewFileSource = $_FILES['reqFileSource']['name'];
  4. if(upload_file($_FILES['reqFileSource']) == TRUE)
  5. {
  6. $newUploadedFile = 1;
  7. $file_name = "download_files/".$FileToUnlink;
  8. unlink($file_name);
  9. } else $file_add_edit_message.= "Wybrany plik już istnieje";
  10. }

Niestety, dzieje się coś dziwnego, stary plik się kasuje, nowy się nie wgrywa (bo użytkownik go nie wybiera), a w bazie danych w polu z nazwą pliku jest zwykła spacja, mógłby mi ktoś pomóc i wytłumaczyć dlaczego tak się dzieje?

Pozdrawiam
radziopoke
to
  1. if(empty($_FILES['reqFileSource']))

przy wysłaniu formularza zawsze będzie błędem bo tablica plików posiada dane za to nie posiada nazwy.
więc sprawdź to tak
  1. if(empty($_FILES['reqFileSource']['name']))

Ja tak zawsze robię.
albo możesz też sprawdzić czy
  1. if($_FILES['reqFileSource']['error']==4)

lub w ogóle czy nie powstał jakiś błąd sprawdzając czy ta zmienna nie jest większa niż 0
Konop857
Dziękuje bardzo, działa ;]
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.