Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Uploading zdjęć z kompa na serwer, [PHP]Uploading zdjęć z kompa na serwer
Konop857
post 9.02.2012, 21:24:10
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 2
Dołączył: 4.05.2011

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


Witam

Próbuje zrobić uploading zdjęć z komputera na serwer, oto mój kod:

  1. if($action == "send"){
  2. $form = $_POST['form'];
  3. $file_basic = $_FILES['file'];
  4. $file_name = $file_basic['name'];
  5. $file_path = "gallery/images/".$file_name."";
  6. $file_size = $file_basic['size'];
  7. if ($form == "true"){
  8. $katalog = dir('gallery/images/');
  9. while($plik = $katalog->read()){
  10. if($plik == $file_name) $is = "true";
  11. }
  12. $katalog->close();
  13. if($is != "true"){
  14. copy($file_name, $file_path);
  15. echo "<font color='green'>Plik został skopiowany</font></br>
  16. Informacje o skopiowanym pliku :</br></br>
  17. Nazwa pliku :</br>
  18. ".$file_name."</br></br>
  19. Wielkość pliku :</br>
  20. ".$file_size."kb</br></br>";
  21. } else echo "Już istnieje taki plik!</br></br>";
  22. } else echo "Wystapił bład przy kopiowaniu pliku!</br></br>";
  23. }


  1. if($action == "add"){
  2. echo "<font size='5'>Dodaj Zdjęcie :</font></br></br>
  3. <form action='?subtopic=access_gallery&action=send' enctype='multipart/form-data' method='post'>
  4. <input type='hidden' name='form' value='true'>
  5. <input type='hidden' name='MAX_FILE_SIZE' value='1000000'>
  6. Wybierz zdjęcie do dodania :</br>
  7. <input type='file' name='file' size='40' accept='image/jpeg'></br>
  8. Tylko *.jpg!</br></br><input type='submit' value='Wyślij'></form>";
  9. }


Z początku, wszystko działało (mam na serwerze 2 obrazki), lecz nie wiem co wyczarowałem, że teraz w żaden sposób nie mogę tego odkręcić i nie działa sad.gif

Proszę o pomoc

Pozdrawiam

@edit

Wyskakuje mi taki błąd :

  1. Warning: copy(ognisko.jpg) [function.copy]: failed to open stream: No such file or directory in /home/p176610/public_html/subtopic.php on line 506


Lecz niżej, poprawnie wyświetla się nazwa i ,,waga" pliku :

Cytat
Plik został skopiowany
Informacje o skopiowanym pliku :

Nazwa pliku :
ognisko.jpg

Wielkość pliku :
176727kb


Ten post edytował Konop857 9.02.2012, 21:29:41
Go to the top of the page
+Quote Post
potreb
post 9.02.2012, 21:28:49
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


move_uploaded_file


--------------------

Go to the top of the page
+Quote Post
Konop857
post 9.02.2012, 21:32:45
Post #3





Grupa: Zarejestrowani
Postów: 81
Pomógł: 2
Dołączył: 4.05.2011

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


Cytat(potreb @ 9.02.2012, 21:28:49 ) *

Dzięki za odpowiedź, po użyciu move_uploaded_file nie wyskakuje żaden błąd, lecz plik również się nie kopiuje sad.gif

Pozdrawiam
Go to the top of the page
+Quote Post
potreb
post 9.02.2012, 21:37:13
Post #4





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Bo zapewne używasz złej zmiennej tablicy files, jest taka zmienna jak tmp_name
  1. <?php
  2. $uploads_dir = '/uploads';
  3. foreach ($_FILES["pictures"]["error"] as $key => $error) {
  4. if ($error == UPLOAD_ERR_OK) {
  5. $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
  6. $name = $_FILES["pictures"]["name"][$key];
  7. move_uploaded_file($tmp_name, "$uploads_dir/$name");
  8. }
  9. }
  10. ?>


I jeszcze masz error w tablic FILES, możesz sobie zobaczyć jaki ew. zwraca błąd

Ten post edytował potreb 9.02.2012, 21:39:18


--------------------

Go to the top of the page
+Quote Post
Konop857
post 9.02.2012, 21:42:45
Post #5





Grupa: Zarejestrowani
Postów: 81
Pomógł: 2
Dołączył: 4.05.2011

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


  1. if($action == "send"){
  2. $form = $_POST['form'];
  3. $file_basic = $_FILES['file'];
  4. $file_name = $file_basic['name'];
  5. $file_name_tmp = $file_basic['name_tmp'];
  6. $file_path = "gallery/images/".$file_name."";
  7. $file_size = $file_basic['size'];
  8. if ($form == "true"){
  9. $katalog = dir('gallery/images/');
  10. while($plik = $katalog->read()){
  11. if($plik == $file_name) $is = "true";
  12. }
  13. $katalog->close();
  14. if($is != "true"){
  15. move_uploaded_file($file_name_tmp, $file_path);
  16. echo "<font color='green'>Plik został skopiowany</font></br>
  17. Informacje o skopiowanym pliku :</br></br>
  18. Nazwa pliku :</br>
  19. ".$file_name."</br></br>
  20. Wielkość pliku :</br>
  21. ".$file_size."kb</br></br>";
  22. } else echo "Już istnieje taki plik!</br></br>";
  23. } else echo "Wystapił bład przy kopiowaniu pliku!</br></br>";
  24. }


Mam takie coś, nie wyskakują żadne błędy, lecz plik nadal nie jest kopiowany.

Pozdrawiam

@edit

$file_error = $file_basic['error']; zwraca 0

Ten post edytował Konop857 9.02.2012, 21:44:31
Go to the top of the page
+Quote Post
i-skrypty.pl
post 9.02.2012, 21:44:03
Post #6





Grupa: Zarejestrowani
Postów: 65
Pomógł: 9
Dołączył: 8.02.2012

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


tmp_name, a nie name_tmp smile.gif
Go to the top of the page
+Quote Post
potreb
post 9.02.2012, 21:44:17
Post #7





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Pomyliłeś się: $file_basic['name_tmp']; ma być tmp_name !


Wypierdziel to:
  1. if ($form == "true"){
  2. $katalog = dir('gallery/images/');
  3. while($plik = $katalog->read()){
  4. if($plik == $file_name) $is = "true";
  5. }


I daj to:

  1. $katalog = 'gallery/images/';
  2. if(!is_dir($katalog)) mkdir($katalog, 0777, true);


Czyli jak nie będzie katalogu utworzy ci całą ścieżkę katalogów i nada chmod 777

Ten post edytował potreb 9.02.2012, 21:47:59


--------------------

Go to the top of the page
+Quote Post
Konop857
post 9.02.2012, 21:46:29
Post #8





Grupa: Zarejestrowani
Postów: 81
Pomógł: 2
Dołączył: 4.05.2011

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


Ale byczo, działa, dzięki biggrin.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.04.2024 - 05:38