Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Kohana]Upload plików
Forum PHP.pl > Forum > PHP > Frameworki
grzes999
Witam

Mam w formularzu do przesłania kilka plików niestety nie mogę ich odebrać w kohanie 3.2

Mój kod do odbierania obrazków. Próbowałem też przed tym tworzyć katalog ale nie pomogło :/

  1. mkdir("../../../media/upload/promocje/1");
  2. /*$plik_tmp = $_FILES['promocja-1']['tmp_name'];
  3. $plik_nazwa = $_FILES['promocja-1']['name'];
  4. $plik_rozmiar = $_FILES['promocja-1']['size'];
  5. if(is_uploaded_file($plik_tmp))
  6.   move_uploaded_file($plik_tmp, "../../../media/upload/promocje/$id_promocji/$plik_nazwa");


I fragment formularza

  1. <form enctype="multipart/form-data" method="post" name="form_opinia" action="" id="ukrywany">
  2. <label for="promocja-1">Zdjecie promocji 1</label>
  3. <input type="file" name="promocja-1" id="promocja-1" accept="image/jpeg"/>
  4. <label for="promocja-2">Zdjecie promocji 2</label>
  5. <input type="file" name="promocja-2" id="promocja-2" accept="image/jpeg"/>
  6. </form>


I od razu czy istnieje jakaś funkcja która by zmieniała rozmiar wgrywanego obrazka. Chodzi mi szerokość i wysokość.
skowron-line
Cytat
mkdir("../../../media/upload/promocje/1");

daj sobie
  1. mkdir(DOCROOT .'/public_html/media/upload/promocje/1");
w przypdaku kiedy masz układ katalogów

Kod
-application
-modules
-system
-public_html
--media
---upload


Cytat
I od razu czy istnieje jakaś funkcja która by zmieniała rozmiar wgrywanego obrazka. Chodzi mi szerokość i wysokość.

Tak, to moduł Image
Cytat
/**
* Resize the image to the given size. Either the width or the height can
* be omitted and the image will be resized proportionally.
*
* // Resize to 200 pixels on the shortest side
* $image->resize(200, 200);
*
* // Resize to 200x200 pixels, keeping aspect ratio
* $image->resize(200, 200, Image::INVERSE);
*
* // Resize to 500 pixel width, keeping aspect ratio
* $image->resize(500, NULL);
*
* // Resize to 500 pixel height, keeping aspect ratio
* $image->resize(NULL, 500);
*
* // Resize to 200x500 pixels, ignoring aspect ratio
* $image->resize(200, 500, Image::NONE);
*
* @param integer new width
* @param integer new height
* @param integer master dimension
* @return $this
* @uses Image::_do_resize
*/
wycinek z tej klasy
grzes999
To jest jeśli chodzi o serwer. A ja to na razie wszystko chce sprawdzić na localhoscie. Robiłem tak

  1. mkdir(getenv("DOCUMENT_ROOT")."gielda_noclegow/media/upload/promocje/1");
ale i tak nie tworzy mi folderu :/

I przesyłanie plików na serwer robię w modelu czy w kontrolerze??
skowron-line
Cytat
mkdir(getenv("DOCUMENT_ROOT")."gielda_noclegow/media/upload/promocje/1");

"DOCUMENT_ROOT"
1. jeżeli sam nie stworzyleś takiej stałej to takowej nie ma
2. "DOCUMENT_ROOT" to string nie stała więc twoja scieżka do pliku to "DOCUMENT_ROOTgielda_noclegow/media/upload/promocje/1"
grzes999
Cytat(skowron-line @ 30.05.2012, 16:01:11 ) *
"DOCUMENT_ROOT"
1. jeżeli sam nie stworzyleś takiej stałej to takowej nie ma
2. "DOCUMENT_ROOT" to string nie stała więc twoja scieżka do pliku to "DOCUMENT_ROOTgielda_noclegow/media/upload/promocje/1"


Zadziałało mi to bez dodawania zmiennej. tylko zapomniałem dodać ukośnika przed gielda_noclegów.

Tylko teraz chce zmniejszyć te zdjęcia podczas przesyłania na trzy różne rozmiary i przesłać je do trzech różnych folderów(z tym raczej nie powinienem mieć problemów) tylko czy obrazek zmniejszać przed przeniesieniem go z folderu tymczasowego czy po. No i gdzie w kohanie jest folder tymczasowy na pliki.


[edit]
Już sobie poradziłem. Dzięki za wskazówki i pomoc.
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.