Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z funkcją fopen()
Forum PHP.pl > Forum > Przedszkole
aneczka83i
Witam.
Jestem nowa na tym forum i w ogóle to zaczynam dopiero swoją przygodę z php.
Mam pewien problem i mam nadzieję, że ktoś mi pomoże, bo przeszukałam już internet w poszukiwaniu rozwiązania, ale niestety nic nie znalazłam.

Dodaje do bazy danych zdjęcia w formie binarnej za pomocą formularza QuickForm

  1. $form->addElement('file','zdjecia','wybierz zdjęcie');
  2. $form->addElement('submit','guzik','Dodaj');



reszta skryptu:

  1. $fhandle = fopen($_FILES['zdjecia']['tmp_name'], "r");
  2.  
  3.  
  4. if($fhandle!=NULL){
  5.  
  6. $content = base64_encode(file_get_contents($_FILES['zdjecia']['tmp_name']));
  7. fclose($fhandle);
  8.  
  9. $sql = mysql_pconnect('localhost','aaa','bbb');
  10. mysql_select_db('aaa',$sql);
  11. mysql_query("insert into tabela (zdjecia,produkt,nazwa,opis) values ('$content','$produkt','$nazwa','$opis')");
  12. mysql_close($sql);
  13.  
  14.  
  15. }




tabela

  1. CREATE TABLE `tabela` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `zdjecia` mediumblob,
  4. `produkt` varchar(100),
  5. `nazwa` varchar(100),
  6. `opis` varchar(255),
  7. PRIMARY KEY (`id`)
  8. )



i pięknie mi się wyświetla formularz... dodaje wszystkie dane oprócz zdjęć
wyskakuje mi:

Warning: fopen(): Filename cannot be empty in /home/strona/public_html/dodaj.php


Zaznaczę, że identyczny kod wisi na innym serwerze i wszystko działa ok, ale na tym na którym muszę to umieścić jest właśnie taki problem.
Kontaktowałam się z adminem tego serwera w tej sprawie, to mi napisał, że to jest tylko Warning, nie błąd. Jeśli nie dodaje zdjęć, to jednym z możliwych
powodów są niewłaściwe prawa albo brak katalogu do przechowywania zdjęć w drzewie skryptów.


I co z tym fantem zrobić, bo ja nie mam pojęcia??
POMOCY!



nospor
Daj:
print_r($_FILES);
i powiedz co wyświetla
aneczka83i
Array ( [zdjecia] => Array ( [name] => zdjecie.JPG [type] => [tmp_name] => [error] => 6 [size] => 0 ) )
nospor
Masz blad numer 6.
Teraz zajrzyj tutaj:
http://pl.php.net/manual/pl/features.file-upload.errors.php
i zobacz co błąd numer 6 oznacza
aneczka83i
Value: 6; Missing a temporary folder. Introduced in PHP 4.3.10 and PHP 5.0.3.


ok... to już wiem, że mam błąd.... ale co teraz mam dalej z tym zrobićquestionmark.gif
gdzie utworzyć ten folder?
nospor
Jesli to jest home.pl to musisz utworzyc katalog tmp w głównym katalogu swojego ftp.
Jeśli to nie jest home.pl to też spróbuj tam utworzyć co pisałem linijke wyżej smile.gif
aneczka83i
Bóg zapłać Ci dobry człowieku za pomoc, ale nic to nie dało :/

nawet po zmianie praw tego katalogu na 777 :/
nospor
Nadal ten sam blad? numer 6?
Gdzie masz hosting?
$_GET['Kuba']
Może w złym folderze dałaś ten folder?
aneczka83i
Nadal ten sam błąd.
A hosting w jakiejś prywatnej firmie... ale spoko już się dowiedziałam, że jednak to nie jest wina moja, bo przed chwilą dzwonił do mnie inny ich klient i on ma ten sam problem ze stroną na której wszystko działało, a nagle nie działa (właśnie z dodawaniem zdjęć)
A wiem, że w ostatnich dniach coś tam zmieniali na serwerze.


Tak czy siak, dzięki chłopaki za pomoc!

Idę męczyć admina smile.gif

jak coś to się jeszcze odezwę smile.gif

no i witam ponownie..... admin nie wie dlaczego to nie działa (moja strona i innego klienta - pisana w cmsie)

może ktoś z Was ma pomysł co trzeba poustawiać w plikach tego php żeby nie było problemu z dodawaniem zdjęć..... kurde ja się na tym zupełnie nie znam, ale może ktoś coś mądrego mi tutaj napisze to podzielę się tą wiedzą z adminem biggrin.gif hehehe

eh....
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.