Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Upload zdjęcia
Forum PHP.pl > Forum > Przedszkole
faflok
Witam.

Wykorzytałem standardowe rozwiazania czyli formularz:

Kod
<form enctype="multipart/form-data" action="add.php" method="POST">
    <!-- MAX_FILE_SIZE must precede the file input field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="300000" />
    <!-- Name of input element determines name in $_FILES array -->
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>


I kod php w pliku add.php:

  1. <?php
  2. $uploaddir = '/domains/frak.com/public_html/werk/strona/photo/';
  3. $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
  4.  
  5. echo '<pre>';
  6. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  7. echo "File is valid, and was successfully uploaded.\n";
  8. } else {
  9. echo "Possible file upload attack!\n";
  10. }
  11.  
  12. echo 'Here is some more debugging info:';
  13. print_r($_FILES);
  14.  
  15. print "</pre>";
  16.  
  17. ?>


Ale pojawia się komunikat:

Kod
Possible file upload attack!
Here is some more debugging info:Array
(
    [userfile] => Array
        (
            [name] => foto.jpg
            [type] =>
            [tmp_name] =>
            [error] => 2
            [size] => 0
        )

)


Czy ktoś może wie gdzie tkwi błąd? Chmody ustawione na 777.
nospor
rety...
widzisz chyba ze tmp_name jest puste, widzisz ze error =2 to spojrz do manuala co to oznacza:
http://pl2.php.net/manual/en/features.file-upload.errors.php
faflok
No OK masz racje. Tylko spokojnie bo to chyba przedszkole a ja dziś akurat ciężki dzień miałem.

Jeszcze tylko jedno pytanie:
Jak nadpisać istniejący plik?
np:
ktoś chce wgrac kolejne zdjęcie np: foto124.jpg ale to zdjęcie ma nadpisać istniejący plik foto.jpg i zachować nazwe foto.jpg?

Pewno proste ale ja już nie myśle. sleepysmiley03.gif
l0ud
  1. <?php
  2. $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
  3. ?>


Zmienić basename($_FILES['userfile']['name']) na 'foto.jpg' (razem z apostrofami)
faflok
Robiłem już tak wcześniej i oto błąd jaki wyskakuje:

Kod
Possible file upload attack!
Here is some more debugging info:Array
(
    [userfile] => Array
        (
            [name] => ganges.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpMYqRlV
            [error] => 0
            [size] => 12232
        )
)
Xniver
Może nie masz odpowiednich CHMODów?
faflok
CHMODy ustawione na 777
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.