Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne][PHP][AJAX]Kodowanie
neo1986kk
post
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


Witam, mam taki problem z kodowaniem znaków, z którym już nie mam pojęcia jak sobie poradzić i mam nadzieję że wypróbowałem juz wszystkiego...

jest tak: index.php --> ajaxem otwieram plik flash.php gdzie jest upload zdjęć we flashu... no i teraz by było wszystko proste gdybym mógł plik przed zapisaniem przekonwertować na UTF-8 i po sprawie, ale to jest flash i nie mam pojęcia jak to zrobić. Działa on na zasadzie pobierania nazwy pliku i zapisania jej.

Gdy otwieram plik flash.php ręcznie w przeglądarce i tam uploaduje plik, wszystko jest ok, ale przez ajaxa sie wszystko sypie.... teraz tak dlaczego się sypie...
dlatego, że potrzebuje przesunąć plik z folderu upload do folderu pliki_galerii i tu jest wlasnie problem....

Wszystko dziala tak ajaxem otwieram flasha z flasha ajaxem przesyłam nazwę pliku do conwert.php, a ten plik zmniejsza mi fotki. i właśnie on generuje błąd...

$_POST['file_name'] // zdj%u0119cie.jpg a w upload jest plik ZdjÄ™cie.jpg i ja już poprostu nie mam pojęcia co moge z tym zrobić... jeśli ktoś wie to proszę o odpowiedź, pozdrawiam.
Go to the top of the page
+Quote Post
Ghost_78
post
Post #2





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

Ostrzeżenie: (0%)
-----


przemysl kwestie czy potrzebne Ci sa polskie znaki w nazwach plikow. raczej nie stosuje sie takich rozwiazan.


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
neo1986kk
post
Post #3





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


no to umówmy się że nie potrzebuje ale to bym musiał we flashu zmieniać nazwę chyba:/
Go to the top of the page
+Quote Post
Ghost_78
post
Post #4





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

Ostrzeżenie: (0%)
-----


ale czegos nie rozumiem do konca
jak uploadujesz plik ? masz formularz na stronie ? za pomocą ajaxa wysyłasz plik na serwer i co sie dalej dzieje ? odpalasz plik flash.php czy aplikacje flash ? czy jak ?


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
neo1986kk
post
Post #5





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


aplikacje flash, która mi uploaduje pliczek, i nie wiem czy da się zmienić nazwę bo niby zmieniłem
Fileref.name=date.getTime();

a nazwa cały czas jaka była taka jest:/ czyli oryginalna może też dlatego że w skrpcie upload mam $file[data][name]?
Go to the top of the page
+Quote Post
Ghost_78
post
Post #6





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

Ostrzeżenie: (0%)
-----


zrob sobie jakas generowana losowo nazwe pliku np
  1. $nazwa_pliku= md5(mktime());

to da rozwiaze Ci 2 problemy:
1 - polskie znaki
2 - jak bedzie ktos chcial wrzucic plik z taka nazwa jaka juz istnieje to nie nadpisze istniejacego pliku


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
neo1986kk
post
Post #7





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


no wszystko ładnie pięknie, tylko że ja potrzebuję z tą nazwą pliku wrócić do flasha, który mi ją wyśle po załadwoaniu do następnego ajaxa czyli do convert...

flash pobiera nazwę --> upload.php

jeśli upload.complete --> flash daje fileref.name do javascript, a javascript przesyła ją postem do convert.php
Go to the top of the page
+Quote Post
Ghost_78
post
Post #8





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

Ostrzeżenie: (0%)
-----


a do czego jeszcze to przekierowanie do convert ? nie mozesz tego zrobic w pliku upload.php ?


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
neo1986kk
post
Post #9





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


Niie mogę bo to idzie z flasha, próbowałem to zrobić w jednym pliku ale nie da rady, tak samo teraz zrobiłem zmianę nazwy na losową i i tak zapisuje nazwę którą flash pobrał ze zdjęcia.
Go to the top of the page
+Quote Post
Ghost_78
post
Post #10





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

Ostrzeżenie: (0%)
-----


pokaz skrypt upload.php i powiedz co ma robic dokladnie ten convert


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
neo1986kk
post
Post #11





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


upload

  1.  
  2. if (is_uploaded_file($_FILES['Filedata']['tmp_name'])) {
  3.  
  4. if(!is_dir("./uploads")) mkdir("./uploads", 0755);
  5. //move the uploaded file
  6. move_uploaded_file($_FILES['Filedata']['tmp_name'], "./uploads/".$_FILES['Filedata']['name'] ); //tutaj sie nic nie dzieje po zmianie nazwy, zapisuje tak jak zapisywal, czyli nazwę z pliku, ale to wyczytalem na forum flasha ze moze lepiej przesylac Getem, chociaz mi to w sumie nic nie dalo, a jedyne dlaczego chce tego flasha to dlatego ze poprostu szybciej sie ładują pliki
  7. chmod("./files/".$_FILES['Filedata']['name'], 0777); //,
  8. }




convert

  1.  
  2. $plik_nazwa=$_POST['imagejpg']; //pobierany z flasha ajaxem
  3. $orginalny_obrazek='uploads/'.$plik_nazwa;
  4. $docelowa_szerokosc=500 ;
  5. $docelowa_wysokosc=370;
  6. $jpeg_quality = 90;
  7.  
  8. // Pobranie orginalnych parametr?? kalkulacja skali
  9. list($szerokosc, $wysokosc) = getimagesize($orginalny_obrazek);
  10. if ($szerokosc>500)
  11. {
  12. $xskala=$szerokosc/$docelowa_szerokosc;
  13. $yskala=$wysokosc/$docelowa_wysokosc;
  14.  
  15. // Kalkulacja nowego rozmiaru
  16. if ($yskala>$xskala){
  17. $nowa_szerokosc = round($szerokosc * (1/$yskala));
  18. $nowa_wysokosc = round($wysokosc * (1/$yskala));
  19. }
  20. else {
  21. $nowa_szerokosc = round($szerokosc * (1/$xskala));
  22. $nowa_wysokosc = round($wysokosc * (1/$xskala));
  23. }
  24.  
  25. // Zmiana rozmiaru orginalnego obrazu
  26. $obraz_zmiana_wielkosci = imagecreatetruecolor($nowa_szerokosc, $nowa_wysokosc);
  27. $obrazek_tymczasowy = imagecreatefromjpeg ($orginalny_obrazek);
  28. imagecopyresampled($obraz_zmiana_wielkosci, $obrazek_tymczasowy, 0, 0, 0, 0, $nowa_szerokosc, $nowa_wysokosc, $szerokosc, $wysokosc);
  29.  
  30. imagejpeg($obraz_zmiana_wielkosci,'gallery/'.$plik_nazwa.'',90); }
  31.  

Go to the top of the page
+Quote Post
Ghost_78
post
Post #12





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

Ostrzeżenie: (0%)
-----


a starasz sie wgrac pliki o roznych nazwach questionmark.gif zapisuja sie? czy caly czas ten sam wgrywasz? pytam dlatego ze nie wiem czy dobre masz uprawnienia katalogu w ktorym zapisujesz. usun moze wszystko z niego i zobacz czy sie cos tam zapisze.

i teraz tak:
  1. chmod("./files/".$_FILES['Filedata']['name'], 0777); // czemu wyzej masz w katalou ./upload a tu uprawnienia zmieniasz w katalogu ./files


  1. //testowales tak ?
  2. move_uploaded_file($_FILES['Filedata']['tmp_name'], "./uploads/obrazek.jpg");

kolejna sprawa - to co robisz z konwersja zrob jednak w tym samym pliku - bedzie lepiej i na bank sie da nawet przeklej ten kod z convert i nazwe pliku daj ta z ktora sie zapisuje plik


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
neo1986kk
post
Post #13





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


przekleiłem i nic, wgrywam różne pliki i sie zapisują, upload plików leci z fasha

selectedfileref.upload('upload.php') - tutaj nawet nic nie przekazuje oprócz fileref

przy uploadowaniu leci progress, a przy 100 % wyswietla komunikat: file is upload!

nie robi nic wiecej, kod pliku upload kończy się dla niego wraz z wgraniem pliku na serwer.

moge tego nie robić ajaxem i wtedy nie bede mial problemu z nazwą pliku bo najwyzej nazwy bede zmieniał przy konwercie i to chyba bedzie najlepsze rozwiząnie...


jak wgra na serwer plik to automatem przechodzi na convert to w sumie nawet nie ma jak sie zatrzymać zeby wgrać nową nazwę do flasha, wiec jeszcze jest rozwiązanie żeby przed uploadem zmienić nazwę pliku ale to nie wiem jak....
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 18:55