Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z odoawaniem plików do bazy danych Mysql
Forum PHP.pl > Forum > PHP
benq20
Witam jestem tu nowy ale od pewnego czasu męczę się z problemem dodania moich plików do bazy danych więc tak korzystam z aplikacji WEBserv 2.0 posiadam juz bazę danych na serwie mysql i wyskakuje mi błąd:
Warning: fread(): supplied argument is not a valid stream resource in C:\Program Files\WebServ\httpd-users\admin\moja\obslugapanelu.php on line 8
Oto kod źródłowy panelu:
  1. <?php
  2. if ($_POST["wykonaj"]=="upload"){
  3. $db=mysql_connect("localhost","root",""); mysql_select_db("bazaam",$db) || die(mysql_errno().": .mysql_error()<br/>");
  4. if (isset($plik) && $plik!="none") {
  5. $fp=fopen($_FILE['plik']['tmp_name'],'r');
  6. $sz=$_FILE['plik']['size'];
  7. $kl=$_FILE['plik']['tmp_name'];
  8. $dane=fread($fp,filesize($kl));
  9. $dane=addslashes($dane);
  10. $opis_a=addslashes(nl2br($_POST['opis']));
  11. $nazwa=$_FILE['plik']['name'];
  12. $typ=$_FILE['plik']['type'];
  13. $roz=$_FILE['plik']['size'];
  14. {
  15. $nazwa=addslashes($nazwa);
  16. }
  17. $sql="INSERT INTO galeria (opis, dane, nazwa_plik, rozmiar_plik, typ_plik)".
  18. "VALUES('$opis_a','$dane','$nazwa','$roz','$typ')";
  19. if (!mysql_query($sql))
  20. {
  21. die('Error: ' . mysql_error());}
  22.  
  23. echo "plik dodano do bazy danych.<br><br>";
  24. echo "<a href='panel.php'>panel</a>";}mysql_close();} else {
  25. echo'<a href="PanelAdmina.php">wroc</a>';}?>

A oto formularz do wprowadzania danych:

  1. <form method="post" action="obslugapanelu.php" enctype="multipart/form-data">
  2.  
  3. <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
  4. <input type="hidden" name="wykonaj" value="upload">
  5. <table border="0">
  6. <Tr><td>Opis:</td><td><textarea name="opis" rows="10" cols="30"></textarea></td></tr>
  7. <tr><td>Plik:</td><td><input type="file" name="plik"></td></tr>
  8. <tr><td colspan="2"><input type="submit" value="wyslij na serwer"></td></tr>
  9. </form>
CuteOne
sprawdź to:
  1. $fp = file_get_contents($_FILE['plik']['tmp_name']);
  2.  
  3. echo $fp;


jeżeli zwróci pusty wynik / błąd to najpierw zrób upload a potem wczytaj plik:

  1. $newfile = 'sciezka_do_pliku/'.$_FILES['plik']['name'];
  2. $result = move_uploaded_file($_FILES['plik']['tmp_name'], $newfile);
  3.  
  4. if(!$result) {
  5.  
  6. echo 'Plik nie został zaimportowany';
  7. }
  8. else {
  9.  
  10. $fp = file_get_contents($newfile);
  11. echo $fp;
  12. }
benq20
Warning: fopen(C:/Program Files/WebServ/temp/file-uploads\php3A5.tmp) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\WebServ\httpd-users\admin\moja\obslugapanelu.php on line 12

Warning: filesize() [function.filesize]: Stat failed for C:/Program Files/WebServ/temp/file-uploads\php3A5.tmp (errno=2 - No such file or directory) in C:\Program Files\WebServ\httpd-users\admin\moja\obslugapanelu.php on line 14

Warning: fread(): supplied argument is not a valid stream resource in C:\Program Files\WebServ\httpd-users\admin\moja\obslugapanelu.php on line 14
plik dodano do bazy danych.

Zrobiłem jak kazałeś niby wszystko w porządku ale mi wyskakuje to samo ciągle zawsze chodzi o fopen?questionmark.gif
CuteOne
nie używaj fopen, fread.... zamiast tego masz to co napisałem ;/
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.