Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] $_FILES
Sasuke Uchiha
post
Post #1





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 5.03.2012

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


Witam, postanowiłem sobie napisać dziś mały skrypcik dodawania obrazków na serwer i o to znalazłem się w magiczny sposób tutaj ponoewnie (jak ja was lubię(IMG:style_emoticons/default/biggrin.gif) ). Problem jest następujący chciałbym aby użytkownik mógł jedynie dodać pliki o konkretnych roższerzeniach typu jpg czy png. No i niby jest ok ale gdy chcę dodać do bazy danych to niestety nie dodaje mi roższerzenia a jedynie wartość zmiennej random.

  1. if($_POST['actions'] == 'upload'){
  2.  
  3. $type_img = array ('application/png');
  4.  
  5. $rand = rand(1,999999);
  6. if(!in_array($_FILES['userfile']['type'], $type_img)){
  7. move_uploaded_file($_FILES['pliczek']['tmp_name'], "img/avatars/$rand");
  8.  
  9.  
  10. $sql = mysql_query("UPDATE users SET avatar='$rand.".$_FILES['type']."' WHERE id='$id_user'") or die ('mysql_error');
  11. echo "ok";
  12. }else{ echo "bad type"; }
  13.  
  14. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Dominator
post
Post #2





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

Ostrzeżenie: (20%)
X----


Spróbuj tak:

  1. $sql = mysql_query("UPDATE users SET avatar='".$rand.".".$_FILES[type]."' WHERE id='$id_user'") or die (mysql_error());
Go to the top of the page
+Quote Post
Sasuke Uchiha
post
Post #3





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 5.03.2012

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


Cytat(Dominator @ 22.06.2012, 20:36:27 ) *
Spróbuj tak:

  1. $sql = mysql_query("UPDATE users SET avatar='".$rand.".".$_FILES[type]."' WHERE id='$id_user'") or die (mysql_error());

Twój sposób nie działa niestety a poprzednika naprawiło mi inny problem ale tutaj mam taki problem że mi po rand dopisuje nazwę pliku i roższerzenie a ja nie chcę nazwy pliku! (IMG:style_emoticons/default/wink.gif)

Cytat(jaslanin @ 22.06.2012, 20:33:20 ) *
dlaczego najpierw sprawdzasz czy format pliku userfile

$_FILES['userfile']['type']

a potem operujesz na pliku "pliczek":

$_FILES['pliczek']['tmp_name']

dodatkowo sprawdzasz:

  1. if(!in_array($_FILES['userfile']['type'], $type_img)){


raczej powinno być:

  1. if(in_array($_FILES['userfile']['type'], $type_img)){


bo tak jak Ty to robisz to pytasz czy typ pliku userfile nie istnieje w tablicy typów obrazków

pokaż formularz jaki wysyłasz do tego skryptu

  1. <form method="post" action="index_test.php?site=edit_profil" enctype="multipart/form-data">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="30000">
  3.  
  4. Wybierz plik który chcesz umie?cić na serwerze:<br>
  5.  
  6. <input type="file" name="pliczek" size="40"><br>
  7. <input type="submit" name="actions" value="upload">
  8. </form>


Ten post edytował Sasuke Uchiha 22.06.2012, 19:56:25
Go to the top of the page
+Quote Post

Posty w temacie


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: 7.10.2025 - 13:06