Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]zapisywanie zdjecia na serwer
Forum PHP.pl > Forum > Przedszkole
marcus753
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
Fifi209
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
marcus753
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 ?
Fifi209
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. ?>
marcus753
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
Mephistofeles
Jesteś pewien, że 'http://img.interia.pl/wiadomosci/nimg/i/o/Berlusconi_znow_formie_3799256.jpg' to indeks tablicy GET winksmiley.jpg?
Fifi209
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
marcus753
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:
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.