Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][JavaScript]input type="file" sprawdzenie
Randallmaster
post
Post #1





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

Ostrzeżenie: (0%)
-----


Witam,

1. W jaki sposób mogę sprawdzić za pomocą jqeury czy dodany plik nie jest większy od 500kb oraz czy jest to plik img bądź png?

2. W jaki sposób wczytać w inpucie plik który wcześniej dodałem z bazy danych: <input type="file" name="image" value="<?= htmlspecialchars($d[llogo']); ?>" />, po dodaniu do value nie działa.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ad1) Nie możesz
ad2) Nie da się
Go to the top of the page
+Quote Post
Randallmaster
post
Post #3





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

Ostrzeżenie: (0%)
-----


To jaki sposób mogę sprawdzić czy dodany plik nie jest większy od 500kb oraz czy jest to plik img bądź png?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




W php rzecz jasna....
Go to the top of the page
+Quote Post
Randallmaster
post
Post #5





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

Ostrzeżenie: (0%)
-----


nospor wiesz o co mi chodzi ale nie chcesz pomóc... źle zadaje pytanie? Myślę że odpowiedź jest jedna. Jesteś naprawdę mądrym człowiekiem wiesz bardzo dużo, ale takie odpowiedzi naprawdę denerwują człowieka... Jeżeli cię uraziłem sorry ale takie jest moje zdanie. Jeśli możesz nie dawaj mi ostrzeżenia...

W jaki sposób mogę za pomocą php sprawdzić czy dodany plik nie jest większy od 500kb oraz czy jest to plik img bądź png?
Czy takie sprawdzenie może obyć się bez przeładowania strony, czy w momencie zapisu do bazy za pomocą funkcji if??
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
nospor wiesz o co mi chodzi ale nie chcesz pomóc... źle zadaje pytanie? Myślę że odpowiedź jest jedna. Jesteś naprawdę mądrym człowiekiem wiesz bardzo dużo, ale takie odpowiedzi naprawdę denerwują człowieka... Jeżeli cię uraziłem sorry ale takie jest moje zdanie. Jeśli możesz nie dawaj mi ostrzeżenia...
Piłeś coś? Pytasz się czy w js można zrobić to i to. Grzecznie ci odpowiadam, że nie, a Ty mi jakieś żale walisz, że ja ci pomóc nie chcę..... o co kaman?
Go to the top of the page
+Quote Post
_Borys_
post
Post #7





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

Ostrzeżenie: (0%)
-----


ad1.
  1. <!DOCTYPE HTML>
  2. <meta http-equiv="content-type" content="text/html" charset="utf-8"/>
  3. <script type="text/javascript">
  4. function getFileInfo(){
  5. fileSize = document.getElementById('fileinput').files[0].size;
  6. fileType = document.getElementById('fileinput').files[0].type;
  7. if(fileSize/1024 > 500){
  8. alert('Sorry no bonus, upload file is too big : '+Math.round(fileSize/1024)+' kB');
  9. }
  10. if(fileType != 'image/png'){
  11. alert('Wrong type of file');
  12. }
  13. }
  14. </head>
  15.  
  16. <form enctype="multipart/form-data" action="" method="post">
  17. <input type="hidden" name="MAX_FILE_SIZE" value="512000"/>
  18. Załaduj plik
  19. <p>PLIK: <input type="file" name="zalacznik" id="fileinput"/></p>
  20. <input type="submit" name="submit" value="Załaduj" onclick="getFileInfo()"/>
  21. <input type="hidden" name="submitted" value="TRUE" />
  22. </form>
  23. </body>
  24. </html>
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@Borys czy to jest dostępne w każdej przeglądarce? Z tego co kojarze, to raczej nie działa to wszędzie. Poza tym sprawdzanie po stronei serwera i tak musi być. Js to tylko feature.
Go to the top of the page
+Quote Post
matiit
post
Post #9





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

Ostrzeżenie: (0%)
-----


@OP

Tak naprawdę obecnie jest taka możliwość w javascripcie.
Niestety na pewno nie działa to wszędzie. Sprawdź sobie gdzie to działa i czy Ci to odpowiada.
  1. <form action='#' onsubmit="return false;">
  2. <input type='file' id='fileinput'>
  3. <input type='button' value='Load' >
  4. </form>
  5.  
  6. <script ...>
  7. input = document.getElementById('fileinput');
  8.  
  9. //przypisz wywolanie alerta do klikniecia buttona, bo zanim wczytasz plik nie bedzie tablicy files oczywiście
  10. alert('Your file size is: '+input.files[0].size);


Ten post edytował matiit 4.04.2013, 11:23:52
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Niestety na pewno nie działa to wszędzie.
Dlatego pisałem że nie ma (IMG:style_emoticons/default/smile.gif) Jak coś nie działa wszędzie to na grzyba się w to bawić (IMG:style_emoticons/default/smile.gif) Proste sprawdzenie w php i po sprawie.
Go to the top of the page
+Quote Post
matiit
post
Post #11





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

Ostrzeżenie: (0%)
-----


Ale warto na przyszłość o tym wiedzieć (IMG:style_emoticons/default/smile.gif)
A sprawdzenie w php
  1. if(isset($_FILES['file']) {
  2. if($_FILES['file']['size'] > 10485760) { //10 MB
  3. // plik za duzy
  4. } else {
  5. // plik dobrej wielkosci
  6. }
  7. }


Zakładając, że input z plikiem ma name file

Ten post edytował matiit 4.04.2013, 11:28:58
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 08:39