Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl


Pr0100
Napisane: 24.08.2010, 16:22:47





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

  1. $signatures = glob('./sygnatury/*.*');
  2. $file = $signatures[array_rand($signatures)];
  3.  
  4. header('Content-type: '.mime_content_type($file));


potem [ img=http://example.com/moja_sygnatura.php ] , co prawda nie jest to do końca poprawne rozwiązanie (rozszerzenie nie jest zgodne się z typem MIME) ale żeby to obejść musiałbyś użyć mod_rewrite
  Forum: Szukam · Podgląd postu: #782692 · Odpowiedzi: 5 · Wyświetleń: 843

Pr0100
Napisane: 15.02.2010, 21:08:05





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

  1. <?php
  2.  
  3. class A {
  4. private $foo;
  5. public function assign($obj) {
  6. $this->foo &= $obj;
  7. }
  8. public function __destruct() {
  9. echo "die A\n";
  10. }
  11. }
  12. class B {
  13. public function __destruct() {
  14. echo "die B\n";
  15. }
  16. }
  17.  
  18. $a = new A;
  19. $b = new B;
  20. $a->assign($b);
  21. unset($b);
  22. echo "---\n";
  23.  
  24. ?>


efekt
Kod
die B
---
die A


  1. <?php
  2.  
  3. class A {
  4. private $foo;
  5. public function assign($obj) {
  6. $this->foo = clone $obj;
  7. }
  8. public function __destruct() {
  9. echo "die A\n";
  10. }
  11. }
  12. class B {
  13. public function __destruct() {
  14. echo "die B\n";
  15. }
  16. }
  17.  
  18. $a = new A;
  19. $b = new B;
  20. $a->assign($b);
  21. unset($b);
  22. echo "---\n";
  23.  
  24. ?>


efekt
Kod
die B
---
die A
die B
  Forum: Object-oriented programming · Podgląd postu: #713736 · Odpowiedzi: 9 · Wyświetleń: 1 157

Pr0100
Napisane: 14.10.2009, 10:18:19





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

Cytat
Tylko został problem z pobraniem danej kolumny z bazy


w Propelu chcąc ograniczyć ilość kolumn pobieranych z bazy danych możesz:
- przeprowadzić ręcznie hydratacja danych (dużo kodu)
- stworzyć 2 modele do tej samej tabeli (nie praktyczne)
- bawić się lazyLoad (nie jest to pełne rozwiązanie problemu)
- zmienić ORM na Doctrine (najlepsze rozwiązanie)
  Forum: Frameworki · Podgląd postu: #670730 · Odpowiedzi: 5 · Wyświetleń: 1 016

Pr0100
Napisane: 11.10.2009, 22:42:31





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

Cytat
varchar(255)


string(255)
  Forum: Frameworki · Podgląd postu: #669989 · Odpowiedzi: 4 · Wyświetleń: 880

Pr0100
Napisane: 5.10.2009, 00:36:46





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

przetrzymywanie teksów przetłumaczonych za pomocą translate.google.com w bazie danych jest niezgodne z regulaminem google. Jedynym rozwiązaniem jest używanie tłumaczenie przy każdym odświeżeniu strony przy pomocy javascripta http://translate.google.pl/translate_tools...sl=en&tl=pl
  Forum: Frameworki · Podgląd postu: #667840 · Odpowiedzi: 3 · Wyświetleń: 887

Pr0100
Napisane: 2.10.2009, 23:48:19





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

databases.yml
Kod
all:
  connection_1:
    class:          sfDoctrineDatabase
    param:
      dsn:          driver://username:password@host/database_name
  connection_2:
    class:          sfDoctrineDatabase
    param:
      dsn:          driver://username:password@host/database_name2


ProjectConfiguration.class.php
  1. /* ... */
  2. public function configureDoctrine( Doctrine_Manager $manager )
  3. {
  4. if (true) //dopisz warunek
  5. {
  6. $manager->setCurrentConnection( 'connection_1' );
  7. }else {
  8. $manager->setCurrentConnection( 'connection_2' );
  9. }
  10. }
  11. /* ... */


coś w tym stylu
  Forum: Frameworki · Podgląd postu: #667292 · Odpowiedzi: 3 · Wyświetleń: 768

Pr0100
Napisane: 14.09.2009, 21:06:41





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

  1. <link rel="shortcut icon" href="<?php echo image_path("favicon.ico") ?>" />
  Forum: Frameworki · Podgląd postu: #661164 · Odpowiedzi: 4 · Wyświetleń: 2 761

Pr0100
Napisane: 15.07.2009, 00:54:27





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

zmień metode __toString w modelu

lub

dodaj opcje 'method' => 'url' (lub getUrl nie pamiętam) do $options podczas deklarowania sfWidgetFormPropelChoice
+ w modelu dodaj getUrl()

  1. <?php
  2. public function getUrl() //lub public function __toString()
  3. {
  4.  sfContext::getInstance()->getConfiguration()->loadHelpers('Url');
  5.  return link_to($this->getId(), 'rule', array('id' => $this->getId());
  6. }
  7. ?>


Cytat
Czy moze lepiej w kontrolerze dobrac sie do niego, pobrac getChoices() i przekazac do zmiennej, a pozniej we formularzu zrobic foreach() ?


nie kombinuj, pisząc w symfony trzeba się twardo trzymać jego zasad
  Forum: Frameworki · Podgląd postu: #634326 · Odpowiedzi: 2 · Wyświetleń: 1 044

Pr0100
Napisane: 14.07.2009, 12:14:13





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

z
  1. <?php
  2. echo "<font color="red"><strong>$wiersz[1]-$wiersz[2]</strong> - $wiersz[3]<br />Prowadzi: <strong>$wiersz[4]</strong><br/><br/></color>"
  3. ?>


na
  1. <?php
  2. echo '<font color="red"><strong>'.$wiersz[1].'-'.$wiersz[2].'</strong> - '.$wiersz[3].'<br />Prowadzi: <strong>'.$wiersz[4].'</strong><br/><br/></color>'
  3. ?>


oraz

z
  1. <?php
  2. echo "<strong>$wiersz[1]-$wiersz[2]</strong> - $wiersz[3]<br />Prowadzi: <strong>$wiersz[4]</strong><br/><br/>";
  3. ?>


na
  1. <?php
  2. echo '<strong>'.$wiersz[1].'-'.$wiersz[2].'</strong> - '.$wiersz[3].'<br />Prowadzi: <strong>'.$wiersz[4].'</strong><br/><br/>';
  3. ?>
  Forum: Przedszkole · Podgląd postu: #633979 · Odpowiedzi: 18 · Wyświetleń: 1 636

Pr0100
Napisane: 12.07.2009, 23:34:36





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

foreach + ksort

Cytat
wstaw print_r(); między <pre></pre> w htmlu.


n/c
  Forum: Przedszkole · Podgląd postu: #633320 · Odpowiedzi: 3 · Wyświetleń: 654

Pr0100
Napisane: 12.07.2009, 22:57:47





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

1. otwórz skrypt w przeglądarce
2. prawy klawisz myszy -> pokaż źródło
3. w źródle powinna być linijka w stylu
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
lub
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

jeżeli masz iso-8859-2 to w bazie danych powinieneś mieć latin2_general_ci (ASCII + języki środkowo–europejskie)

jeżeli masz utf-8 to w bazie danych powinieneś mieć utf8_general_ci (unikod, wszystkie języki)

4. Wejdź w phpMyAdmin wybierz interesującą ciebie tablę -> Struktura -> "Metoda porównywania napisów" -> jeżeli wartość jest inna niż wynika z pkt 3 to zmień ją na właściwą
5. Sprawdź czy działa
  Forum: Hydepark · Podgląd postu: #633301 · Odpowiedzi: 9 · Wyświetleń: 1 092

Pr0100
Napisane: 12.07.2009, 19:35:24





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

Cytat
Może wywalić IIS, a zainstalować Apache?


jeżeli nie programujesz w ASP to usuń wszystko co zainstalowałeś (iis, php, mysql) i zainstaluj jakąś gotową paczkę

http://www.apachefriends.org/en/xampp.html
lub
http://www.wampserver.com/en/
  Forum: Przedszkole · Podgląd postu: #633173 · Odpowiedzi: 13 · Wyświetleń: 1 018

Pr0100
Napisane: 12.07.2009, 14:30:02





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

Cytat
$obrazektmp[1]=$_FILES...
$obrazekname[1]=$_FILES...


jeżeli problem by dotyczył użytkowników to byś zrobił 20 tablic w stylu?

$user_nick[$i]
$user_login[$i]
$user_pass[$i]
$user_mail[$i]
$user_city[$i]
$user_sex[$i]
....

kiepskie rozwiązanie problemu rolleyes.gif


zamiast:
  1. <?php
  2. $obrazektmp1 = $_FILES['obrazek1']['tmp_name'];
  3. $obrazekname1 = $_FILES['obrazek1']['name'];
  4. $obrazektmp2 = $_FILES['obrazek2']['tmp_name'];
  5. $obrazekname2 = $_FILES['obrazek2']['name'];
  6. $obrazektmp3 = $_FILES['obrazek3']['tmp_name'];
  7. $obrazekname3 = $_FILES['obrazek3']['name'];
  8. $obrazektmp4 = $_FILES['obrazek4']['tmp_name'];
  9. $obrazekname4 = $_FILES['obrazek4']['name'];
  10. $obrazektmp5 = $_FILES['obrazek5']['tmp_name'];
  11. $obrazekname5 = $_FILES['obrazek5']['name'];
  12. $obrazektmp6 = $_FILES['obrazek6']['tmp_name'];
  13. $obrazekname6 = $_FILES['obrazek6']['name'];
  14. $obrazektmp7 = $_FILES['obrazek7']['tmp_name'];
  15. $obrazekname7 = $_FILES['obrazek7']['name'];
  16. $obrazektmp8 = $_FILES['obrazek8']['tmp_name'];
  17. $obrazekname8 = $_FILES['obrazek8']['name'];
  18. $obrazektmp9 = $_FILES['obrazek9']['tmp_name'];
  19. $obrazekname9 = $_FILES['obrazek9']['name'];
  20. $obrazektmp10 = $_FILES['obrazek10']['tmp_name'];
  21. $obrazekname10 = $_FILES['obrazek10']['name'];
  22. ?>


zrób:
  1. <?php
  2. for($i=1; $i <= 10; $i++)
  3. {
  4.  $obrazki[$i] = array(
  5.    'name' => $_FILES['obrazek'.$i]['name'],
  6.    'tmp' => $_FILES['obrazek'.$i]['tmp_name']
  7.  );
  8. }
  9. ?>


  1. <?php
  2. echo 'Nazwa obrazku #3: '.$obrazki[3]['name'];
  3. echo "<br />";
  4. echo 'Tymczasowa nazwa obrazku #6: '.$obrazki[6]['tmp_name'];
  5.  
  6. echo "<br /><br /><br /><br />";
  7.  
  8.  
  9. echo 'Lista obrazków: <br/>';
  10. foreach ($obrazki as $obrazek)
  11. {
  12.  echo $obrazek['name'].'<br />';
  13. }
  14. ?>


masz przykład wykorzystania for, array oraz foreach

#####################################################

zamiast

  1. <?php
  2. if($_POST['jezyk']=='opis_pl')
  3.    {
  4.        $opispl = 1;
  5.        $opisen = 0;
  6.        $opisde = 0;
  7.    }    
  8.    if($_POST['jezyk']=='opis_en')
  9.    {
  10.        $opispl = 0;
  11.        $opisen = 1;
  12.        $opisde = 0;
  13.    }
  14.    if($_POST['jezyk']=='opis_de')
  15.    {
  16.        $opispl = 0;
  17.        $opisen = 0;
  18.        $opisde = 1;
  19.    }
  20. ?>


zrób
  1. <?php
  2. $opispl = $opisen = $opisde = 0;
  3.  
  4. switch($_POST['jezyk'])
  5. {
  6.  case 'opis_pl':
  7.    $opispl = 1;
  8.    break;
  9.  
  10.  case 'opis_en':
  11.    $opisen = 1;
  12.    break;
  13.  
  14.  case 'opis_de':
  15.    $opisde = 1;
  16.    break;
  17.  
  18.  default:
  19.   // komunikat nie wybrałeś języka, nieznany język lub coś w tym kierunku
  20.   break;
  21. }
  22. ?>
  Forum: Przedszkole · Podgląd postu: #633051 · Odpowiedzi: 14 · Wyświetleń: 1 505

Pr0100
Napisane: 10.07.2009, 19:06:16





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

relacja jeden do wielu, google: propel relationships
  Forum: Frameworki · Podgląd postu: #632378 · Odpowiedzi: 4 · Wyświetleń: 1 198

Pr0100
Napisane: 9.07.2009, 14:08:04





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

problem nie ma prostego i łatwego rozwiązania, możesz:
- przeprowadzić ręcznie hydratacja danych (dużo kodu)
- możesz stworzyć 2 modele do tej samej tabeli (nie praktyczne)
- możesz bawić się lazyLoad (nie jest to pełne rozwiązanie problemu)
  Forum: Frameworki · Podgląd postu: #631850 · Odpowiedzi: 4 · Wyświetleń: 1 198

Pr0100
Napisane: 8.07.2009, 12:41:27





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

  1. <?php
  2. class LoginForm extends BaseFormPropel
  3. {
  4.   public function setup()
  5.   {
  6.      $this->setWidgets(array(
  7.         'login' => new sfWidgetFormInput(),
  8.         'haslo' => new sfWidgetFormInputPassword()
  9.      ));
  10.  
  11.     $this->widgetSchema->setNameFormat('login[%s]');
  12.     $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
  13.  
  14.     parent::setup();
  15.  }
  16.  
  17.  public function getModelName()
  18.  {
  19.    return 'User';
  20.  }
  21. }
  22. ?>


działa?
  Forum: Frameworki · Podgląd postu: #631312 · Odpowiedzi: 6 · Wyświetleń: 677

Pr0100
Napisane: 6.07.2009, 21:28:53





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

  1. <?php
  2. $cos = CosPeer::RetrieveByPk(8);
  3. $values = $cos->toArray();
  4. foreach ($values as $value)
  5. {
  6.  echo $value;
  7. }
  8. ?>
  Forum: Frameworki · Podgląd postu: #630573 · Odpowiedzi: 4 · Wyświetleń: 819

Pr0100
Napisane: 5.07.2009, 23:57:57





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

  1. <?php
  2. function iconv_array($array = array())
  3. {
  4.  $return = array();
  5.  
  6.  foreach ($array as $key=>$value)
  7.  {
  8.    if (is_array($value))
  9.    {
  10.      $return[$key] = iconv_array($value);
  11.    }
  12.    else
  13.    {
  14.      $return[$key] = iconv('iso-8859-2', 'utf-8', $value);
  15.    }
  16.  }
  17.  
  18.  return $return;
  19. }
  20. ?>


nie sprawdzałem czy działa
  Forum: PHP · Podgląd postu: #630226 · Odpowiedzi: 6 · Wyświetleń: 954

Pr0100
Napisane: 4.07.2009, 13:18:28





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

  1. <?php
  2. echo substr("abcd", 0, -1);
  3. ?>
  Forum: Przedszkole · Podgląd postu: #629591 · Odpowiedzi: 1 · Wyświetleń: 604

Pr0100
Napisane: 1.07.2009, 02:46:33





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

pobierz wszystkie pliki

  1. <?php
  2. switch(mime_content_type($file))
  3. {
  4.  case "image/jpg" || "image/pjpeg":
  5.    $im = imagecreatefromjpeg($file);
  6.    break;
  7.  
  8.  case "image/png":
  9.    $im = imagecreatefrompng($file);
  10.    break;
  11.  
  12.  case "image/gif":
  13.    $im = imagecreatefromgif($file);
  14.    break;
  15. }
  16. ?>
  Forum: Przedszkole · Podgląd postu: #627929 · Odpowiedzi: 9 · Wyświetleń: 1 570

Pr0100
Napisane: 29.06.2009, 00:24:40





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

  1. <?php
  2. substr($string, 0, -3)
  3. ?>


o ile ostatnia liczba jest zawsze cyfrą
  Forum: Przedszkole · Podgląd postu: #626806 · Odpowiedzi: 4 · Wyświetleń: 827

Pr0100
Napisane: 24.06.2009, 17:53:29





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

  1. <?php
  2. $temp = $values = array('31', '31.1', '31.1.17', '31.1.17.18', '31.2', '31.2.13');
  3.  
  4. rsort($temp);
  5. $row_map = $toDelete = array();
  6.  
  7. foreach ($temp as $row)
  8. {
  9.  $current_row_map = explode('.', $row);
  10.  
  11.  if (!is_null($row_map))
  12.  {
  13.    
  14.    $row_map_cont = count($row_map);
  15.    $current_row_map_cont = count($current_row_map);
  16.  
  17.    if ($current_row_map_cont+1 == $row_map_cont)
  18.    {
  19.  
  20.      $similar = TRUE;
  21.        
  22.      for ($i=0; $i <= $current_row_map_cont-1; $i++)
  23.      {
  24.        
  25.        if ($current_row_map[$i] != $row_map[$i])
  26.        {
  27.          $similar = FALSE;
  28.          break;
  29.        }
  30.      }
  31.  
  32.      if ($similar == TRUE)
  33.      {
  34.        $toDelete[] = $row;
  35.      }
  36.    }
  37.  }
  38.  
  39.  $row_map = $current_row_map;
  40. }
  41.  
  42.  
  43. foreach($toDelete as $row)
  44. {
  45.  unset($values[array_search($row, $values)]);
  46. }
  47.  
  48. $values = array_values($values);
  49. ?>
  Forum: Przedszkole · Podgląd postu: #624729 · Odpowiedzi: 20 · Wyświetleń: 1 769

Pr0100
Napisane: 14.06.2009, 00:00:53





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

moim zdaniem słaby pomysł. Większość firm kupuje strony. Jeżeli zaproponujesz klientowi Joomle zamiast autorskiego rozwiązania (opartego na FW) to wątpię czy wykonasz to zlecenie. Era darmowych CMSów dawno się skończyła.

Ale jeżeli pomimo tego chcesz napisać CMSa to:
- zadbaj o pełną modułowośc systemu, tak aby można było wyłączyć nie używane elementy strony
- obsługę różnych baz danych
- możliwość ściągnięcia i instalacji dodatkowych modułów (pluginów)/skórek z Panelu Administracyjnego (coś podobnego do pakietów w linuxie, coś takiego już chyba jest w SMF'ie)
- system cachowania

Jeżeli chodzi o wykorzystanie frameworka to ja bym to porównał do OS w komórce. Symbian/Windows jest zazwyczaj bardziej funkcjonalny niż autorski OS producenta. Ale firmy Apple oraz Google pokazały że zazwyczaj nie znaczy zawsze. Jeżeli zamierzasz to zrobić na poważnie to pisz od zera ale jeżeli masz tylko nadmiar wolnego czasu to pisz na FW.

Co do MVC to byłbym ostrożny. Wzorzec ten jest bardzo dobry ale tylko gdy doskonale wiemy co chcemy zrobić. Jakoś nie wyobrażam sobie rozbicia projektu na moduły napisanego według tego wzorca. Jak wyłączyć moduł z "komentarze" jeżeli jest on wykorzystywany w 4 kontrolerach i 15 widokach? smile.gif
  Forum: Object-oriented programming · Podgląd postu: #619603 · Odpowiedzi: 15 · Wyświetleń: 3 353

Pr0100
Napisane: 11.06.2009, 00:03:54





Grupa: Zarejestrowani
Postów: 114
Dołączył: 18.01.2008
Skąd: Warszawa

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

  1. <?php
  2.  
  3. $string = "jakistekst1/jakistekst2/tekst3/jakistekst4";
  4. echo substr($string, 0, strlen($string)-strlen(strrchr($string, "/")));
  5.  
  6. ?>


troche amatorsko ale działa rolleyes.gif
  Forum: PHP · Podgląd postu: #618254 · Odpowiedzi: 2 · Wyświetleń: 591


New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 21:58