Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sprawdzanie istnienia obrazka
Forum PHP.pl > Forum > Przedszkole
MateuszS
Witam mam maly problem

Mam kod

  1.  
  2. $plik_nazwa = $_FILES['obrazek']['name'];
  3. $plik_tmp = $_FILES['obrazek']['tmp_name'];
  4. $plik_typ = $_FILES['obrazek']['type'];
  5. $plik = $_FILES['obrazek'];
  6.  


i chce sprawdzic czy obrazek nie jest "pusty"

  1. if(!empty($plik)) {
  2. $lol = 2;
  3. } else {
  4. $lol = 1;
  5. }
  6.  


potem np sprawdzam

  1. if($lol == 2) { echo 'oho'; }


to spelnia sie warunek powyzszy mimo ze nie wybralem obrazka...

What is wrong?
jmail
spróbuj sprawdzić $_FILES['obrazek']['size']
athei
MateuszScirka tak nie sprawdzisz czy plik został wysłany, wyświetl sobie zawartość tablicy $plik.
is_uploaded_file , file_exists
MateuszS
Dam caly skrypt, lepiej sie zrozumiemy

  1. if(isset($_POST['sent'])) {
  2. $link = $_POST['link'];
  3. $tytul = strip_tags($_POST['tytul']);
  4. $plik_nazwa = $_FILES['obrazek']['name'];
  5. $plik_tmp = $_FILES['obrazek']['tmp_name'];
  6. $plik_typ = $_FILES['obrazek']['type'];
  7. $plik = $_FILES['obrazek'];
  8.  
  9. $select = mysql_query("SELECT * FROM `wczasy_agenture` WHERE `id`='".$_SESSION['ed']."'") or die(mysql_error());
  10. $pokaz = mysql_fetch_assoc($select);
  11.  
  12. echo '<center>';
  13. $powrot = '<br /><a href="panel.php">Powrót</a>';
  14.  
  15. if(!empty($tytul)) {
  16. if(!empty($link)) {
  17. if(eregi('\.', $link) and !eregi('http://', $link)) {
  18. $link_update = mysql_query("UPDATE `wczasy_agenture` SET `link`='".$link."' WHERE `id`='".$_SESSION['ed']."'")
  19. $links = 1;
  20. } else {
  21. $links = 2;
  22. }
  23. } else {
  24. $link_update = mysql_query("UPDATE `wczasy_agenture` SET `link`='' WHERE `id`='".$_SESSION['ed']."'")
  25. $links = 1;
  26. }
  27.  
  28. if(!empty($plik)) {
  29. if($plik_typ == 'image/jpg' or $plik_typ == 'image/jpeg' or $plik_typ == 'image/JPG' or $plik_typ == 'image/JPEG') {
  30. $source = 'wczasy/agenture/'.$pokaz['time'].'/'.$plik_nazwa;
  31. $destiny = 'wczasy/agenture/'.$pokaz['time'].'/miniaturka/'.$plik_nazwa;
  32. $podziel = explode('/', $pokaz['logo']);
  33. if(is_uploaded_file($plik_tmp)) {
  34. @ unlink($pokaz['logo']);
  35. @ unlink($podziel[0].'/'.$podziel[1].'/'.$podziel[2].'/miniaturka/'.$podziel[3]);
  36. move_uploaded_file($plik_tmp, $source);
  37. create_thumbnail($source, $destiny, 110);
  38. create_thumbnail($source, $source, 700);
  39. $new_logo = mysql_query("UPDATE `wczasy_agenture` SET `logo`='".$source."' WHERE `id`='".$_SESSION['ed']."'")
  40. $logos = 1;
  41. }
  42. } else { $logos = 2; }
  43. } else { $logos = 1; }
  44.  
  45. $tyt_update = mysql_query("UPDATE `wczasy_agenture` SET `nazwa`='".$tytul."' WHERE `id`='".$_SESSION['ed']."'")
  46.  
  47. if($tyt_update) { $tytuls = 1; } else { $tytuls = 0; }
  48.  
  49. if($tytuls == 1) {
  50. if($links == 2) {
  51. echo 'Wpis został zaaktualizowany jednak link nie został zaaktualizowany ponieważ ma zły format<br />';
  52. }
  53. if($logos == 2) {
  54. echo 'Wpis został zaaktualizowany jednak obrazek nie został zaaktualizowany ponieważ ma zły format. Dopuszczalny format pliku to JPG/JPEG<br />';
  55. }
  56. if($links == 1 and $logos == 1) {
  57. echo 'Wpis został poprawnie zaaktualizowany';
  58. }
  59. echo $powrot;
  60. } else {
  61. echo 'Wpis nie został zaaktualizowany poniważ pozostawiłeś puste pola'.$powrot;
  62. }
  63.  
  64. }
  65. echo '</center>';
  66.  
  67.  
  68. }


Gdy nie wrzucam zadnego pliku, pokazuje ze 'Wpis został zaaktualizowany jednak obrazek nie został zaaktualizowany ponieważ ma zły format. Dopuszczalny format pliku to JPG/JPEG<br />'
a nie powinno ;(
jmail
zamień to

  1.  
  2. if(!empty($plik)) {
  3.  


na to

  1.  
  2. if($plik['size'] == 0) {
  3.  
MateuszS
Cytat(jmail @ 18.08.2009, 20:16:05 ) *
zamień to

[PHP] pobierz, plaintext
  1. if(!empty($plik)) {
[PHP] pobierz, plaintext

na to

[PHP] pobierz, plaintext
  1. if($plik['size'] == 0) {
[PHP] pobierz, plaintext


cwany pomysl ale niestety nieskuteczny

$plik_size = $_FILES['obrazek']['size'];
if($plik_size==0)

nie pomoglo, dalej to samo sie dzieje
jmail
a jak zrobisz echo $plik['size']; to co Ci zwraca? moze wartośc pustą? wtedy przyrównaj do pustej
MateuszS
wyświetla

0

więc niby all ok było...
jmail
to nadal masz problem?
MateuszS
tak, nadal sie to dzieje, tzn wyswietla ten blad, a nie powinno
jmail
może dlatego że to

$tyt_update

aktualizujesz poza ifem i ma wartość jeden?

dodaj jeszcze takie


  1.  
  2. if($tytuls == 1 && $plik['size'] != 0)
  3.  
k_@_m_i_l
Nie wiem czy dobrze Cię rozumiem,ale jeśli chcesz sprawdzić czy obrazek został w ogóle przesłany,to sprawdź :
  1. if($_FILES['obrazek']['error']==4)
  2. {
  3. echo 'Obrazek nie został przesłany';
  4. }
  5. else
  6. {
  7. // dalesze funkcje - obrazek jest przesłany
  8. }
MateuszS
metoda k_@_m_i_l'a okazala sie skuteczna, dzieki

jmail, dzieki za to ze probowales pomoc,

"pomogl" dla obu
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.