Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Proste sprawdzenie czy użytkownik przesłał plik czy nie
Forum PHP.pl > Forum > Przedszkole
LargerWoo
Przede wszystkim chciałbym wszystkich po raz pierwszy powitać na tym forum winksmiley.jpg

Wracają co tematu, to dopiero zaczyna przygodę z php i aktualnie buduję swój pierwszy system CMS do bloga.
Na początku stworzyłem sobie system edycji tekstu, dodałem opcję automatycznego dodania daty itp i poszło mi ogólnie całkiem nieźle.
Problemy zaczęły się kiedy próbuję dodać system wrzucania do każdego wpisu głównego zdjęcia.
Tak wyglada kod html:
Kod
<form action="..." enctype="multipart/form-data" method="post">
// tutaj kilka <input type="text" name="NAME" value="" id="ID" />
// no i upload obrazka:
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
<input type="file" name="file_upload" />

<input type="submit" name ="submit" value="" />
</form>


Moje pytanie brzmi - jak postawić warunek w którym plik przez użytkownika albo został przesłany albo nie?
To jest kod który odbiera plik:
Kod
$tmp_file = $_FILES['file_upload']['tmp_name'];
$target_file = basename($_FILES['file_upload']['name']);
$upload_dir = "uploads";
    
if(move_uploaded_file($tmp_file, $upload_dir."/".$target_file)) {
$message .= "File uploaded successfully.<br>";
} else {
$error = $_FILES['file_upload']['error'];
$message .= $upload_errors[$error];


Próbowałem if(isset($_FILES['file_upload']['tmp_name'])) ale wywala mi błąd.
Chodzi mi o to, że informacje o adresie pliku trzymam w bazie danych. Chcę dodać taką opcję, że jeżeli użytkownik nie wybierze pliku to do bazy zostaje dodany wpis "no_picture" i do wpisu na blogu nie zostaje wyświetlony obrazek...

Ogólnie odbieranie z tego formularza na raz tekstu i pliku sprawia mi dużo problemu, czy znacie może jakieś źródła gdzie mogę się nauczyć rozwiązań stosowanych przez doświadczonych programistów?
potreb
Sprawdzasz czy wystąpił plik z tablicy $_FILES['file_upload']['error'] możesz wyciągnąć info czy wszystko przebieglo okey, czy nie, ewentualnie jeszcze sprawdzić czy plik istnieje po uploadzie .
john_doe
Witaj, zerknij w manual
http://pl.php.net/manual/en/function.is-uploaded-file.php

lub np. użyj file_exist() - sprawdzaj czy plik jest na serwerze, jeśli nie ma pakuj defaultowy pic
LargerWoo
Zastosowalem
Kod
if(is_uploaded_file($_FILES['file_upload']['tmp_name']))

i mam error dokladnie dla tej linii:
Kod
Notice: Undefined index: file_upload in ...\edit_blog.php on line 12


W kazdym przypadku wlasciwie zwraca mi error ze $_FILES jest niezdefiniowane... Co robie zle i jakich jeszcze informacji potrzebujecie aby mi pomoc?



@EDIT

Zapomnialem o enctype="multipart/form-data"!!! Nie wiem jakim cudem, bo bylem swiecie przekonany, ze tam jest! Teraz nie powinno byc problemu..

@EDIT2
Teraz wszystko w pełni działa, dzięki za pomoc!

Nigdy nie zapominajcie o enctype!!
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.