Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Upload plików
Forum PHP.pl > Forum > Przedszkole
Jerem!asz
mam problem i nie wiem w czym on tkwi, otoz mam formularz do UPLOADU zdjęć, nazwy zdjec zapisuja sie w mysql, następnie chce otwierac w zdjęcia w galerii, niestety nie otwierają się, sprawdzaalem na serverze i są tam pliki w odpowiednim folderze, chciałem sprawdzić także czy przy wprowadzeniu bezpośredniego adresu do zdjęć w przeglądarce będą sie wyświetlały i co jest najgorsze, tutaj tez nic sie nie wyświetla.

dodam,ze na localhoscie wszystko dziala OK

dziekuję za pomoc i zainteresowanie.
pozdrawiam.
Amorph
Podepnę się pod topic:
  1. <?php
  2. $a=$_GET['a'];
  3. if($a<>'save'){
  4. <form action='ttt.php?a=save' method='POST'>
  5. <input type='file' name='userfile'>
  6. <input type='submit' value=' ok '>
  7. </form>
  8. ";
  9. };
  10. if($a=='save'){
  11.  
  12. // In php versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
  13. // of $_FILES.
  14.  
  15. $uploaddir = 'pic/';
  16. $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
  17.  
  18. echo '<pre>';
  19. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  20.  echo "File is valid, and was successfully uploaded.n";
  21. } else {
  22.  echo "Possible file upload attack!n";
  23. }
  24.  
  25. 'Here is some more debugging info: Array
  26.  
  27. Jak próbuje odczytać name czy size nic nie ma.
  28.  
  29. print_r($_FILES);
  30.  
  31. print "</pre>";
  32.  
  33. };
  34. ?>


Rwę włosy i nie wiem o co kaman...

Possible file upload attack!

Tak jakby formularz nie przesyłał pliku.
Jerem!asz
amorph, sprobuj moze z tym skryptem wysylac pliki na server:

  1. <?php
  2. if( is_uploaded_file( $_FILES['zdjecie']['tmp_name'] ) )
  3. {
  4. $strUploadDir = './foto/' . $_FILES['zdjecie']['name'];
  5. if( move_uploaded_file( $_FILES['zdjecie']['tmp_name'], $strUploadDir ) )
  6. {
  7. echo 'Zdjęcie zostało pomyślnie uploadowane! <br />';
  8. }
  9. else
  10. {
  11. echo 'Upload pliku nie powiódł się!';
  12. }
  13.  // echo 'Dodatkowe informacje o uploadowanym pliku: <pre>' . print_r( $_FILES, true ) . '</pre>';
  14. }
  15. ?>


u mnie wysyla tylko ze jaks nie wiem czemu nie mozna ich odczytac.... moze to wina SERVERA questionmark.gif
free
Jeremiasz. Jezeli na localu ci działa a na serwerze nie to jest prosta odpowiedź! Po prostu chodzi o CHMOD.
Na pierwszy rzut oka widac ze nie nadajesz praw dostepu dla plików i stad problem. Na forum jakis czas temu widziałem tego typu rozwiazania. Chetnie bym pomógł ?chociaz wierze ze po moim naprowadzeniu sobie poradzisz/ ale mam własny kłopot z 2 selectami, który poruszam na forum i nie moge otrzymac pomocy.
Amorph
Mó skrypt nie działa ani na lokalu ani na serwie :/
Jerem!asz
Amorph, dlatego sprobuj czy moj skrypt Ci dziala?

free CHMOD.... moglbys mi to troszke przybliżyć.... raczkuje w php dopiero, jak mam nadawac prawa dostępu do plików? a moze na serwerze ptrzeba włączyć open basedir....

a jaki masz ten problem z tymi selectami ?
free
Plik dodaj.php
  1. <?
  2. require("config.php");
  3. $conn=mysql_connect($host,$bazalogin,$bazahaslo);
  4. if($_SESSION['poziom'] == "3")
  5. {
  6. $id = $_GET['id'];
  7. echo "<form method=post enctype=multipart/form-data action=upload.php>";
  8. echo "<input type="hidden" name="up" value="tak">";
  9. echo "<p>Wybierz plik:<br>";
  10. echo "<input type=file name=file size=40><br>";
  11. echo "<br />";
  12. echo "<input type=submit value=Wyśli><input type=reset value=Reset></p>";
  13. echo "</form>";
  14. echo '<a href=wyloguj.php>wyloguj</a> ';
  15. }
  16.  
  17. else if($_SESSION['poziom'] == "2")
  18. {
  19. echo "Masz za male uprawnienia do dodania pliku";
  20. echo '<br /><a href=wyloguj.php>wyloguj</a> ';
  21. }
  22.  
  23. else{
  24. echo '<p>Brak autoryzacji.</p>';
  25. echo '<p>Dostęp zabroniony.</p>';
  26. echo '<br><a href="logowanie.php">Zaloguj</a> <br /><a href=wyloguj.php>wyloguj</a>';
  27. }
  28. ?>

Plik upload.php
  1. <?php
  2. $serwer = $_SERVER['HTTP_HOST'];
  3. $katalog = dirname($_SERVER['PHP_SELF']);
  4. if ($up=="tak"){ 
  5. copy("$file", "pliki/$file_name"); // kopiowanie pliku
  6. unlink("$file");
  7. echo"Plik został skopiowany<br>
  8. Informacje o skopiowanym pliku:<br>
  9. Nazwa: $file_name<br>
  10.  
  11.  
  12.  
  13. ADRES: $serwer$katalog/pliki/$file_name <br />
  14. Wielkość: $file_size <br>
  15. <a href=dodaj.php>Dodaj następny</a><br>
  16.  
  17. ";
  18. }
  19. else {
  20. echo"Wystapił bład"; // błąd
  21. }
  22. ?>


W pliku dodaj.php jest dodatkowo uzycie sesji i spr czy user ma prawo dodawac pliki. Mozecie to usunąć.
W skrypcie brakuje nadawania praw dostepu uploadowanym plikom. Jak ktos ma czas niech to poprawi :-)
Jerem!asz
AMORPH... w twoim kodzie wydaje mi sie ze przy $uploadfile zmien na

  1. <?php
  2. $uploaddir = './pic/' . $_FILES['zdjecie']['name']
  3. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
  4. ?>

bez tego basename
free
Korzystajcie z mego kodu dziala tylko musicie usunac sesje i jej sprawdzanie. I przydaloby sie dodac te CHMOD, nie probuj nic robic na serwerze tylko w pliku php, to w sumie tylko 1 lub 2 linijki kodu.

z selectami mam nastepujacy problem
SELECT 1 strona

Moja strona
Na tym drugim forum widze odp od koziolka :-) bede musial to przejrzec, jak mozesz pomoc to napisz.
Jerem!asz
a jak mam np. dodac te CHMODy ?
jak je wstawic do tego skryptu?

  1. <?php
  2. if( is_uploaded_file( $_FILES['zdjecie']['tmp_name'] ) )
  3. {
  4. $strUploadDir = './foto/' . $_FILES['zdjecie']['name'];
  5. if( move_uploaded_file( $_FILES['zdjecie']['tmp_name'], $strUploadDir ) )
  6. {
  7. echo 'Zdjęcie zostało pomyślnie uploadowane! <br />';
  8. }
  9. else
  10. {
  11. echo 'Upload pliku nie powiódł się!';
  12. }
  13.  // echo 'Dodatkowe informacje o uploadowanym pliku: <pre>' . print_r( $_FILES, true ) . '</pre>';
  14. }
  15. ?>


i czy w ogole CHMOD pomoze, bo serwer na ktorym testuje ma niestety SAFE MODE sad.gif
free
Poszukja w wyszukiwarce upload chmod i bedziesz mial odp. Ja nadla nie mam rozwiazania mego problemu
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.