Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]zapisywanie zdjecia na serwer
marcus753
post 9.01.2010, 21:07:47
Post #1





Grupa: Zarejestrowani
Postów: 281
Pomógł: 3
Dołączył: 8.06.2009
Skąd: Kraków

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


witam mam maly problem posiadam adres zdjecia i chcialbym je zapisac na swoim serwerze np. w katalogu zdjecia jak powinien wygladac taki skrypt ?

myslalem o przerobieniu takiego skryptu ale gdzie wstawic tu adres do zdjecia ? przeciez najpierw musi zostac pobrane i przypisane do zmiennej ale jak to zrobić ?
  1. <?php
  2.  
  3. $max_rozmiar = 1024*1024;
  4. if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
  5. if ($_FILES['plik']['size'] > $max_rozmiar) {
  6. echo 'Błąd! Plik jest za duży!';
  7. } else {
  8. echo 'Odebrano plik. Początkowa nazwa: '.$_FILES['plik']['name'];
  9. echo '<br/>';
  10. if (isset($_FILES['plik']['type'])) {
  11. echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
  12. }
  13. move_uploaded_file($_FILES['plik']['tmp_name'],
  14. $_SERVER['DOCUMENT_ROOT'].'/foto/'.$_FILES['plik']['name']);
  15. }
  16. } else {
  17. echo 'Błąd przy przesyłaniu danych!';
  18. }
  19.  
  20. ?>


Z gory dziekuje za pomoc


--------------------
Cokolwiek zostanie upuszczone na uklad elektroniczny, spadnie zawsze tam gdzie wyrzadzi najwiecej szkody.
Go to the top of the page
+Quote Post
Fifi209
post 9.01.2010, 21:12:56
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Może jakiś form w html'u w który władujesz plik i prześlesz do skryptu ?

coś w stylu:
  1. <form action="twoj plik.php" method="POST" enctype="multipart/form-data">
  2. <label for="photo">Wybierz zdjęcie</label>
  3. <input type="file" name="file" id="photo" />
  4. </form>


oczywiście + input


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
marcus753
post 9.01.2010, 21:20:07
Post #3





Grupa: Zarejestrowani
Postów: 281
Pomógł: 3
Dołączył: 8.06.2009
Skąd: Kraków

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


ogolnie chodzi mi o cos takiego mam jakis adres np. www.strona.pl/zdjecie.jpg

i chce zawartosc tego adresu (zdjecie) przypisac zmiennej a nastepnie wsadzic to na serwer np. za pomoca tej funkcji:

  1. #
  2. move_uploaded_file($_FILES['plik']['tmp_name'],
  3. #
  4. $_SERVER['DOCUMENT_ROOT'].'/foto/'.$_FILES['plik']['name']);


tylko jak zdjecie przypisac zmiennej ?


--------------------
Cokolwiek zostanie upuszczone na uklad elektroniczny, spadnie zawsze tam gdzie wyrzadzi najwiecej szkody.
Go to the top of the page
+Quote Post
Fifi209
post 9.01.2010, 21:27:20
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Nie tędy droga.

To musi być coś takiego:
(testowane)
  1. <?php
  2.  
  3. if (!empty($_GET['link'])) {
  4. $name = basename($_GET['link']);
  5.  
  6. $file = file_get_contents($_GET['link']);
  7.  
  8. if (file_put_contents($name, $file)) {
  9. echo 'Plik zostal zapisany';
  10. }
  11. }
  12.  
  13. ?>


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
marcus753
post 9.01.2010, 21:59:30
Post #5





Grupa: Zarejestrowani
Postów: 281
Pomógł: 3
Dołączył: 8.06.2009
Skąd: Kraków

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


albo ja jestem idiota abo cos jest nie tak ;/
wstawilem twoj plik na serwer

  1. <?php
  2. echo "zapisywanie pliku";
  3. if (!empty($_GET['http://img.interia.pl/wiadomosci/nimg/i/o/Berlusconi_znow_formie_3799256.jpg'])) {
  4. $name = basename($_GET['http://img.interia.pl/wiadomosci/nimg/i/o/Berlusconi_znow_formie_3799256.jpg']);
  5.  
  6. $file = file_get_contents($_GET['http://img.interia.pl/wiadomosci/nimg/i/o/Berlusconi_znow_formie_3799256.jpg']);
  7.  
  8. if (file_put_contents($name, $file)) {
  9. echo 'Plik zostal zapisany';
  10. }
  11. }
  12. echo "bla";
  13. ?>


zdjecie ani na serwerze nie zostalo zapisane ani nie bylo zadnej reacji jedynie wyswietlilo te dwie linijki kodu ktore dopisalem zapisywanie piku i bla...

tak to jest jak sie w php nic nie pisalo prawie 2 lata sciana.gif

natomiast wyciagajac sama funkcje i 2 zmienne wyrzucilo mi 2 bledy

  1. Warning: file_get_contents() [function.file-get-contents]: Filename cannot be empty in /home/a6887375/public_html/droga.php on line 6
  2.  
  3. Free Web Hosting
  4.  
  5. PHP Error Message
  6.  
  7. Warning: file_put_contents() [function.file-put-contents]: Filename cannot be empty in /home/a6887375/public_html/droga.php on line 8


--------------------
Cokolwiek zostanie upuszczone na uklad elektroniczny, spadnie zawsze tam gdzie wyrzadzi najwiecej szkody.
Go to the top of the page
+Quote Post
Mephistofeles
post 9.01.2010, 22:01:09
Post #6





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Jesteś pewien, że 'http://img.interia.pl/wiadomosci/nimg/i/o/Berlusconi_znow_formie_3799256.jpg' to indeks tablicy GET winksmiley.jpg?
Go to the top of the page
+Quote Post
Fifi209
post 9.01.2010, 22:33:41
Post #7





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


To co ja podałem w oryginalnej wersji w $_GET przyjmuje link

czyli jeżeli zapiszesz jako skypt.php

to uruchamiasz tak:

skypt.php?link=http://obrazki.pl/obrazek.jpg


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
marcus753
post 9.01.2010, 22:59:21
Post #8





Grupa: Zarejestrowani
Postów: 281
Pomógł: 3
Dołączył: 8.06.2009
Skąd: Kraków

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


dzięki panowie poprzypominałem sobie pare rzeczy i napisałe winksmiley.jpg

  1. <?php
  2.  
  3. $godzina = date("H:i:s");
  4. $data = date("d.m.Y");
  5. $ch = curl_init('http://www.traxelektronik.pl/pogoda/krakow/kam0242_2_0.jpg');
  6. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  7. file_put_contents("zdjecia/".$godzina."-".$data.".jpg",curl_exec($ch));
  8.  
  9. ?>


jeszcze musiałem ustawić odpowiedni chmod pomysleć że tak proste rzeczy a można zapomnieć, czas robi swoje...

Dzięki wszystki za pomoc !:blinksmiley:


--------------------
Cokolwiek zostanie upuszczone na uklad elektroniczny, spadnie zawsze tam gdzie wyrzadzi najwiecej szkody.
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: 16.05.2025 - 09:56