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
neates
post
Post #2





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

Posty w temacie


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: 11.10.2025 - 18:28