Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z fread()
Forum PHP.pl > Forum > PHP
pwa
mam problem poniewaz wyskakuje mi taki warning:

Warning: fread(): supplied argument is not a valid stream resource in c:apachehtdocsnowy_uzyt.php on line 43

a chodzi o ta linijke:

$obraz=addslashes(fread(fopen($_FILES['the_file']['tmp_name'],"r"),$_FILES['the_file']['size']));

caly kod zrodlowy pliku:

Kod
<html>

<head>

<meta http-equiv="content-language" content="pl">

<title>Dodawanie uzytkownika</title>

</head>

<body>



<?





if (isset($_POST['submit']))

{

            

     if(strlen($HTTP_POST_VARS['login2']) AND strlen($HTTP_POST_VARS['haslo2']) AND

     strlen($HTTP_POST_VARS['haslo3']) AND strlen($HTTP_POST_VARS['email']) AND

     strlen($HTTP_POST_VARS['the_file']) > 0)

  

    {

      require_once("mysql_connect.inc");



      

       $obraz=addslashes(fread(fopen($_FILES['the_file']['tmp_name'],"r"),$_FILES['the_file']['size']));

      



       $query = "INSERT INTO uzytkownicy VALUES

       (NULL,PASSWORD('{$HTTP_POST_VARS['haslo2']}'),'{$HTTP_POST_VARS['login2']}','{$HTTP_POST_VARS['email']}',

       '$obraz','{$_FILES['the_file']['type']}')";

       $query_result = mysql_query ($query);

      

       // sprwadzamy czy ok

      

       if ($query_result)

       {

        echo 'Jestes nowym uzytkownikiem: <a href='logowanie.php'>zaloguj sie</a>';

        } else {

        echo '<b><a href='logowanie.php'>Cos poszlo nie tak sprobuj jescze raz</b>';



       // zwolnienie zasobow i zakonczenie polaczenia

          }      

        mysql_close();

        }

     }else { // jesli nic nie wpasano to ten komunikat

      echo 'nie wypelniles wskazanych rubryk<br>';

      echo '<a href="nowy_uzyt.php">sprobuj ponownie</a>';  

    }

  } else { // to do submit !!!

?>

  

  Rejestracja nowego uzytkownika:<br>

  <form action="nowy_uzyt.php" method="post">



  proponowany login:<br>

  *<input type="text" name="login2" size="30" maxlength="40">

  <br>proponowane haslo:<br>

  *<input type="password" name="haslo2" size="30" maxlength="40">

  <br>powtorz haslo:<br>

  *<input type="password" name="haslo3" size="30" maxlength="40">

  <br>e-mail:<br>

  *<input type="text" name="email" size="30" maxlength="40"><br>

  <br>

  <input type="hidden" name="MAX_FILE_SIZE" value="1000000000">

  Wybierz swoje logo:<br><input type="file" name="the_file">

  <br><input type="submit" name="submit" value="utworz konto">

  </form>



<?

}  //zakonczenie warunku do submit

?>



</body>

</html>


jest to dziwne gdyz w innym pliku mi to dziala bez zarzutow a tu nie moge doszukac sie zadnego bledu sad.gif
jono
[php:1:38059dbe0e]<?php
$obraz=addslashes(fread(fopen("$_FILES['the_file']['tmp_name']","r"), filesize("$_FILES['the_file']['tmp_name']"));
?>[/php:1:38059dbe0e]
Nie wiem, czy pomoże...
pwa
niestety dalej nic
spenalzo
Po pierwsze stosuj BBCode php do kolorowania kodu php, bo teraz to sie nawet czytać nue chce.
Po drugie sprawdzaj czy plik jest załadowany, nie przez strlen, ale np. przez [manual:ca158029dd]is_uploaded_file[/manual:ca158029dd].
Jabol
zrob sobie debugging i sprawdz od kiedy nie jest tak jakbys oczekiwal.
adwol
Cytat
mam problem poniewaz wyskakuje mi taki warning:

Warning: fread(): supplied argument is not a valid stream resource in c:apachehtdocsnowy_uzyt.php on line 43

a chodzi o ta linijke:

$obraz=addslashes(fread(fopen($_FILES['the_file']['tmp_name'],"r"),$_FILES['the_file']['size']));

Powinieneś wcześniej przed tym warningiem dostać również informacje co dokładnie sie posypało. A jak jej nie ma to zamień tą linię na kilka mniejszych (fopen, fread i addslashes) i wtedy zobacz dokładnie w której jest błąd bo tu może zawieść kilka rzeczy.
pwa
ok
hao
Czesc, mam właśnie taki sam problem. Mój skrypt działa na 100%. Działa poprawnie na dwóch serwerach (lycos i mój domowy). Na innym (szkolnym) wywala się właśnie ten komunikat:
Warning: fread(): supplied argument is not a valid stream resource

Czy ktoś już może rozwiązał ten problem? Czy problemem może być konfiguracja serwera (max_upload_file, safemode?).. hElP!! sadsmiley02.gif
kicaj
wklep kawalek kodu
Dawid Pytel
Nie:

  1. <form action="nowy_uzyt.php" method="post">


tylko:

  1. <form action="nowy_uzyt.php" method="post" enctype="multipart/form-data">


Nie zadeklarowałeś przesyłania plików przez formularz...
hao
U mnie to leci tak: (uprościłem dość kawałek tego kodu, żeby nie smiecić).

  1. <?php
  2.  
  3. include 'global.inc';
  4. if(isset($submit)):
  5. {
  6.  
  7. /* tu jest jeszcze kilka innych zmiennych ale wyciąłem aby nie marnować miejsca */
  8.  
  9. $PSizeP = filesize($przod); 
  10. $mysqlPictureP = addslashes(fread(fopen(&#092;"$przod\", \"r\"), $PSizeP));
  11. $PSizeT = filesize($tyl); 
  12. $mysqlPictureT = addslashes(fread(fopen(&#092;"$tyl\", \"r\"), $PSizeT));
  13. $PSizeL = filesize($lewo); 
  14. $mysqlPictureL = addslashes(fread(fopen(&#092;"$lewo\", \"r\"), $PSizeL));
  15. $PSizeR = filesize($prawo); 
  16. $mysqlPictureR = addslashes(fread(fopen(&#092;"$prawo\", \"r\"), $PSizeR));
  17.  
  18. $sql=&#092;"INSERT INTO ellacz VALUES (NULL, '$nazwa', '$srednica', '$glebokosc', '$mysqlPictureP', '$mysqlPictureT', '$mysqlPictureL', '$mysqlPictureR', '$symbol')\";
  19. $db=mysql_connect($host, $log, $pass);
  20. mysql_select_db($dbase,$db);
  21.  
  22. print(&#092;"Wpis dodany\");
  23. }
  24. else:
  25. {
  26. /* Tu jest formularz, który między innymi pobiera sobie pliki graficzn */
  27. }
  28. Endif;
  29.  
  30. ?>


No i się wywala na TYM JEDNYM KONKRETNYM serwerze, gdzie indziej działało dobrze.
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.