Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Kopiowanie/upload plików, Zawsze miałem z tym problemy =/
The bob
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.05.2007

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


NApisałem taki skrypt (jeszcze nie jest dokończony) na upload plików w PHP, ale niedziała... niewiem dlaczego, nierobumiem tego... oto on:

Kod
<html>
<head>
  <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
</head>
<body>
<?
//settings
$name = "".$_POST['name'].".".$_POST['type']."";

//uploading
if (isset ($_POST['submit'])) {
    if (!copy($_POST['file'], $name)) {
        $message="Kopiowanie pliku nie powiodło się...<br>\n";
    } else {
        $message="Kopiowanie pliku powiodło się...<br>\n";
    }
}

//printing form
echo '
      <form action="upload.php?act=1&what=upload" method="POST" enctype="multipart/form-data">
      <input type="file" name="file" onFocus=\'this.style.background="#ffffaa";\' onBlur=\'this.style.background="#f9f9f9";\' style="background-color:#f9f9f9"><BR>
      <input type="text" value="Nazwa pliku" name="name" onFocus=\'this.value="";this.style.background="#ffffaa";\' onBlur=\'if(this.value=="")this.value="Nazwa pliku";this.style.background="#f9f9f9";\' style="background-color:#f9f9f9"><BR>
      <input type="submit" name=submit value="Wyślij" style="width:75; background-color:#f9f9f9"><input type="reset" value="Czyść" style="width:75; background-color:#f9f9f9">
      <BR><BR>
      <select name="type" style="background: #f9f9f9">
      <option value="">Select type of file</option>
      <option value="html">HTML file</option>
      <option value="txt">TXT document</option>
      <option value="exe">EXE file</option>
      <option value="'.$type2.'">Other (select what)</option>
      
      
      </select>
      </form>
';

echo '<BR><BR>';
echo $message;
echo 'nazwa nowego pliku to: '.$name;

?>
</body>
</html>


I ten skrypt zwraca tylko takie coś:

Cytat
Kopiowanie pliku nie powiodło się...
nazwa nowego pliku to: asd.txt


gdzie asd.txt zależy od nazwy i rozszerzenia jakie podam (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

pomógł by mi ktoś to zrobić takie żeby to działało?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Noddi
post
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 7
Dołączył: 25.12.2004
Skąd: Kraków

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


Spróbuj zrobić upload przez funkcje move_uploaded_file" title="Zobacz w manualu PHP" target="_manual i przejrzyj to: http://pl2.php.net/manual/pl/features.file-upload.php
Go to the top of the page
+Quote Post
neates
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 2.09.2005
Skąd: znienacka

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


Witam,

Mam podobny problem, z tym że kod już miałem gotowy (ściągnięty z jakieś stronki). Problem polega na tym, że ten kod nie działa mi na wszystkich przeglądarkach. W zasadzie działa na starym Firefoxie, IE6 itp, natomiast firefox 2.0, IE7 powoduje wysłanie pliku na serwer, ale nie wykonuje mi się zapis do bazy ani przekopiowanie pliku do odpowiedniego katalogu. Na czym może polegać ten błąd? zaznaczę też, że na nowej operze pliki z tego kodu wysyłają i zapisują się na serwerze bez problemów.

Poniżej zamieszczam kod, który używam:

  1. <?php
  2. $max_rozmiar = 90000;
  3. $rozmiar = $max_rozmiar/1000;
  4. if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
  5. if ($_FILES['plik']['size'] > $max_rozmiar) {
  6. echo "Błąd! Zdjęcie ma za duży rozmiar! Maksymalnie może mieć ".$rozmiar."kb";
  7. } else {
  8. if (isset($_FILES['plik']['type'])) {
  9. }
  10. if ($_FILES['plik']['type']=="image/pjpeg"){
  11.  
  12. $rozsz = ".jpg";
  13. $file = $_FILES['plik']['name'];
  14. move_uploaded_file($_FILES['plik']['tmp_name'],'../graph/aktualnosci/'.$_FILES['plik']['name']);
  15. $size = filesize("../graph/aktualnosci/$file");
  16. $size = $size/'1000';
  17. $real_size = round($size,'2');
  18. $data = date('m.d.Y');
  19. $nazwa = "aktualnosci_id$_POST[id]";
  20. $new_name = "$nazwa$rozsz";
  21. rename("../graph/aktualnosci/$file","../graph/aktualnosci/$new_name");
  22.  
  23. $sql_upd = mysql_query("UPDATE bl8_news SET zdjecie='$new_name' WHERE id='$_POST[id]'");
  24.  
  25. echo "
  26. <p>Plik o nazwie $file ($real_size kb) został wysłany na serwer.</p>
  27. ";
  28. }
  29.  
  30. }
  31. } else {
  32.  
  33. echo 'Błąd przy przesyłaniu danych!';
  34. }
  35. ?>


Z góry dziękuję za pomoc!
Go to the top of the page
+Quote Post
The bob
post
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.05.2007

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


Z move_uploaded_file też nie działa :/ efekt taki sam... prubowałem tez że zamiast $_POST dałęm $_FILE... to samo :/
Go to the top of the page
+Quote Post
mike
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(The bob @ 20.05.2007, 14:22:32 ) *
próbowałem tez że zamiast $_POST dałęm $_FILE... to samo :/
Jeżeli ma Ci zadziałać to na pewno nie z $_POST a co do $_FILE to ... nie ma czegoś takiego.
Jest $_FILES.
Go to the top of the page
+Quote Post
The bob
post
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.05.2007

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


eeh no wiem, pomyliło mi sie w pisowni ale tam właśnie dałem files... mógł by może ktoś ten kod sprawdzić u siebie na kompie? Bardzo proszę :/
Go to the top of the page
+Quote Post
szmerak
post
Post #7





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


A w php.ini jaki masz maxymalny rozmiar pliku?
Go to the top of the page
+Quote Post
The bob
post
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.05.2007

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


10 MB chyba, ale i tak ten plik waży 1 KB (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

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: 23.08.2025 - 17:55