Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> obrazek w HTML
daimon
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 8.05.2005

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


Witam,

jest mały edytorek WYSIWYG służący do redagowania maili w html'u, które następnie wysyłane są do małej grupy znajomych. Dany użytkownik może wklepywać tekst i formatować go (jak to w edytorach;)). Następnie, po wysłaniu, wiadomość (html) zapisywana jest do bazy (postgres). W projekcie istnieje też opcja podglądu wysłanych wiadomości. Działa ona na zasadzie wyciągania z bazy żądanej treści i wyświetlaniu jej jako stronka.

Problem: przy edytowaniu wiadomości user może dodać obrazek ze swojego dysku. W kodzie widnieje on jako np. C:\obrazek.gif. Ale równie dobrze może to być D:\costam\obrazek.jpg itd. Jedynym człowiekiem, który zobaczy te obrazki przy przeglądaniu wysłanych wcześniej maili jest ten, który zredaguje daną wiadomość (i nie skasuje tych plików od siebie z dysku;)) Jak rozwiązać problem dostępności obrazków dla wszystkich ?

Ps. do wysyłania maili używam klasy Mime.

--
Pozdrawiam
daimon
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
yavaho
post
Post #2





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Wysylasz na serwer obrazek metoda POST
  1. <form action="index.php" method="post" enctype="multipart/form-data">
  2. <input type="file" name="thefiles">
  3. <input type="submit" name="Submit" value="wyslij">
  4. </form>
Potem za pomoca php nadajesz obrazkowi indywidualna nazwa i kopiujesz obrazek do odpowiedniego katalogu na serwerze, potem zapisujesz ta lokalizacje (nazwe obrazka) w bazie danych.
  1. <?php
  2. $obrazek='katalog/plik.jpg';
  3. if(is_uploaded_file($thefiles)) {
  4. if(copy($thefiles, $obrazek)) {
  5.  //tutaj zapisujesz do bazy danych wartosc zmiennej $obrazek
  6. }
  7. }
  8. ?>
Do tego musisz sobie jeszcze dodac sprawdzenie czy obrazek jest na pewno plikiem typu jpg, gif, png. Czy nie za duzo wazy i czy nie ma za duza rozdzielczosc. Kazdemu obrazkowi musisz nadac idywidualna nazwe - mozesz do tego wykorzystac funkcje Time(). Raczej nie mozesz pozostawic mozliwosc wybor nazwy userom, bo czesto by sie zdarzalo ze pliki na serwerze mialy by ta sama nazwe.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 24.12.2025 - 09:43