Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Błąd przy uloadzie pliku(Strict standards)
Forum PHP.pl > Forum > Przedszkole
viamarimar
Znalazłem w necie fajny kod na upload plików, wszystko działa, ale jest jakiś dziwny notice, który spotykam pierwszy raz. Mógłby ktoś pomóc mi się go pozbyć.
  1. Strict standards: Only variables should be passed by reference in C:\VertrigoServ\www\szablon\upload.php on line 22

22 linijka to dokladnie:

  1. $p_roz= array_pop(explode(".", $p_nazwa));

  1. <form action="upload.php" method="post" enctype="multipart/form-data" name="form1">
  2. <p align="center">Wysyłanie plików na serwer. </p>
  3. <table width="422" border="1" align="center" bordercolor="#0000FF" bgcolor="#C0C0C0">
  4. <tr>
  5. <th width="444" scope="row"><input name="plik" type="file" size="50"/>
  6. <input name="max_file_size" type="hidden" value="1048576" /></th>
  7. </tr>
  8. <tr>
  9. <th scope="row"><input value="Wyślij plik" name='submit' type="submit" /> </th>
  10. </tr>
  11. </table>
  12. </form>
  13.  
  14. <?php
  15. if(isset($_POST['submit'])){
  16. $p_pojemnosc=$_FILES['plik']['size'];//pojemnosc pliku
  17. $p_typ=$_FILES['plik']['type']; // typ pliku
  18. $p_nazwa=$_FILES['plik']['name']; // nazwa pliku
  19. $p_smiec=$_FILES['plik']['tmp_name']; // chwilowa nazwa pliku
  20.  
  21. //wycinamy rozszerzenie z pobieranego pliku
  22. $p_roz= array_pop(explode(".", $p_nazwa));
  23.  
  24. /* odbieramy dane z pola ukrytego i zaokrąglamy je do 3 miejsca
  25.   po przecinku/dzielimy przez 1204*1024 by było w MB*/
  26. $max_size=round(($_POST['max_file_size']/1048576),3)."MB";
  27.  
  28.  
  29. //zaokrąglamy "round" do 2 miejsc po przecinku i przeliczamy rozmiar pliku na MB
  30. $poj_MB=round(($p_pojemnosc/1048576),2).'MB';
  31.  
  32. //kodujemy nasz plik metodą MD5 i dodajemy date i godzinę oraz rozszerzenie pliku
  33. $p_nazwa_zm=(md5($p_nazwa)).".".$p_roz;
  34. $folder="upload/";
  35.  
  36. //---Kolorki HTML---
  37. $k_cze="<font color=#ff0000>";
  38. $f_koniec="</font>";
  39. $k_nieb="<font color=#0000ff>";
  40.  
  41. if ($p_pojemnosc <= 0)
  42. {
  43. echo ("Plik jest pusty nie mogę go przesłać <b>".$k_cze.$p_nazwa." ".$poj_MB.$f_koniec."</b><br />");
  44. echo "<a href=index.php>Wracaj ...</a>";
  45. }
  46.  
  47. if ($poj_MB > $max_size)
  48. {
  49. echo("Plik jest za duży maksymalnie można wysłać <b>".$k_cze.$max_size.$f_koniec."</b>"." .Plik wysyłany ma rozmiar <b><i>".$k_nieb.$poj_MB.$f_koniec."</b></i><br />");
  50. echo "<a href=index.php>Wracaj ...";
  51. }
  52.  
  53. if (file_exists($folder.$p_nazwa_zm))
  54. {
  55. echo ("Plik o takiej nazwie jest już na serwerku <b><i>".$p_nazwa_zm."</b></i><br />");
  56. echo "<a href=index.php>Wracaj ...";
  57. }
  58.  
  59. else {
  60. if(!@move_uploaded_file($p_smiec, $folder.$p_nazwa_zm))
  61. exit('Nie mozna zachowac pliku. Prawdopodobnie nie ma folderu lub nie można w nim zapisać');
  62.  
  63. echo "Przeslanie udało się - <b>".$k_nieb.$p_nazwa."</b>"." ".$poj_MB."<br />";
  64. $path_file=$folder.$p_nazwa_zm;
  65. include("config.php");
  66. $zapytanie=mysql_query("insert into pliki values(NULL,'$p_pojemnosc','$path_file','$p_typ')");
  67. echo "<a href=index.php>Wracaj ...";
  68. }
  69. }
  70.  
  71. ?>
nospor
  1. $zm = explode(".", $p_nazwa);
  2. $p_roz= array_pop($zm);
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.