Stránka: 1 z 1
| [ Príspevkov: 19 ] | |
Autor | Správa |
---|
Registrovaný: 28.07.09 Prihlásený: 18.04.13 Príspevky: 145 Témy: 42 | 42 |
Dobry den
chcel by som pomôct s upravom tohto scriptu
http://www.uploadify.com/demo/
tento script uploaduje obrazky a uklada ich do vopred nastaveneho priečnka
ja by som chcel aby to ukladalo do priečinka, ktorý si vytvorí použivateľ a nesledne sa do neho aj nahraju fotky
dakujem
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
Vytvaranie priecinka mkdir()
Zmena adresara:
scripts/uploadify.php
Kód: if (!empty($_FILES)) { $tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/'; $targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name']; // $fileTypes = str_replace('*.','',$_REQUEST['fileext']); // $fileTypes = str_replace(';','|',$fileTypes); // $typesArray = split('\|',$fileTypes); // $fileParts = pathinfo($_FILES['Filedata']['name']); // if (in_array($fileParts['extension'],$typesArray)) { // Uncomment the following line if you want to make the directory if it doesn't exist // mkdir(str_replace('//','/',$targetPath), 0755, true); move_uploaded_file($tempFile,$targetFile); echo "1"; // } else { // echo 'Invalid file type.'; // } }
myslim, ze je to dost jasne...$targetPath
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 28.07.09 Prihlásený: 18.04.13 Príspevky: 145 Témy: 42 | 42 |
no a čo to znamena pre mna???
ako ja viem vytvoriť prečinok, ale ide o to aby sa priečinok vytvoril naraz pri stlačení upload, a hned sa uploadovalo do toho priečinka, a toto nemôžem poriešiť, tak prosim vas o pomoc
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
Napisal som to z brucha, neskusal, ale mozno nieco taketo by mohlo ist:
Kód: <?php session_start(); if (!empty($_FILES)) { if(empty($_SESSION['priecinok'])) { $_SESSION['priecinok'] = time().mt_rand(1,9999); }
$tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/' . $_SESSION['priecinok'] . '/'; @mkdir($targetPath); $targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name']; move_uploaded_file($tempFile,$targetFile); echo "1"; } ?>
Ale radsej napis, naco to tak chces, mat milion priecinkov.. Existuje urcite lepsie riesenie ako vytvarat si miliony priecinkov..
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 28.07.09 Prihlásený: 18.04.13 Príspevky: 145 Témy: 42 | 42 |
ide mi o uploadovanie obrazkov uživatelom, aby som vedel ktory uživatel to uploadol, a čas kedy to uploadol,
čo by si mi navrhoval ty?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Ukladat vsetky obrazky do jedneho adresara a do databazy alebo csv suboru si ukladat dvojice nazov suboru + meno uzivatela.
|
|
Registrovaný: 28.07.09 Prihlásený: 18.04.13 Príspevky: 145 Témy: 42 | 42 |
no ale ked ja by som potreboval tie obrazky stiahnuť do môjho pc a nasledne upraviť, tak myslim, že to by nebol až taky dobry napad, lebo hladať, že ktory je aky obrazok no...
|
|
Registrovaný: 28.07.09 Prihlásený: 18.04.13 Príspevky: 145 Témy: 42 | 42 |
Blackshadow píše: Napisal som to z brucha, neskusal, ale mozno nieco taketo by mohlo ist: Kód: <?php session_start(); if (!empty($_FILES)) { if(empty($_SESSION['priecinok'])) { $_SESSION['priecinok'] = time().mt_rand(1,9999); }
$tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/' . $_SESSION['priecinok'] . '/'; @mkdir($targetPath); $targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name']; move_uploaded_file($tempFile,$targetFile); echo "1"; } ?> Ale radsej napis, naco to tak chces, mat milion priecinkov.. Existuje urcite lepsie riesenie ako vytvarat si miliony priecinkov..
ide to vyborne, akurat, to ide do nahodne vygenerovaneho prečinka,
mne išlo o tom , aby použivateľ zadal nazov priečinka do ktoreho to pôjde
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
Ale tak to si mal povedat, ze nazov si vytvori uzivatel, ale aj tak je to hlupost..
Ked to chces tak ako hovoris, tak si sprav tabulku v databaze so stlpcami
Kód: id_obrazka (int)(auto_increment) | id_uzivatela (int) | nazov_obrazka (varchar255) Obrazku upravis nazov, ja pouzivam v tvare: Kód: time().'nazov-obrazku-bez-diakritiky-a-cudnych-znakov Tie obrazky vsetky nahadz do jedneho priecinka.. a do DB zapises ID uzivatela, ktory to pridaval, a ten upraveny nazov obrazka... Potom ked s nimi chces hocico robit, napriklad vybrat si obrazky od urciteho uzivatela, tak jednoducho: Kód: SELECT nazov_obrazka WHERE id_uzivatela=nejake-cislo
a pekne si ich vypises..
Popripade si mozes pridat aj stlpec s datumu a dat si vyhladat obrazky za posledne 3 dni a podobne.. je to ovela lepsie riesemie
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 28.07.09 Prihlásený: 18.04.13 Príspevky: 145 Témy: 42 | 42 |
dal by sa tento script ešte upraviť tak, aby to pred uloženim na disk zmenšilo na menšie rozmery ???
|
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
Medzi často používanými máš funkciu na zmenšovanie, využi ju pri ukladaní.
|
|
Registrovaný: 28.07.09 Prihlásený: 18.04.13 Príspevky: 145 Témy: 42 | 42 |
no pozeral som to, ale tak trošku dlhe sa mi to zda byť, nejak som sa v tom nevyznal,
akurat viem, že určite by som to mal zakomponovať pred move_uploaded_file($tempFile,$targetFile);
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
To je sice pekne ze sa ti to zda dlhe, ale na 1 riadok sa to neda napisat takze to vyskusaj
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 28.07.09 Prihlásený: 18.04.13 Príspevky: 145 Témy: 42 | 42 |
ešte otazka, da sa to aj tak, že nastavim len jeden rozmer a druhy sa prispôsobi-???
|
|
Registrovaný: 28.07.09 Prihlásený: 18.04.13 Príspevky: 145 Témy: 42 | 42 |
skusil som to, nevypisuje to žiadnu chybu, ale zato to nič neurobi, ani obrazok neuloži
Kód: <?php session_start(); if (!empty($_FILES)) { if(empty($_SESSION['priecinok'])) { $_SESSION['priecinok'] = time().mt_rand(1,9999); }
$tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/' . $_SESSION['priecinok'] . '/'; @mkdir($targetPath);
function get_file_type($_FILES) { $pripona = substr($_FILES, -4, 4); $pripona = strtolower($pripona); switch($pripona) { case '.jpg': return 'jpg'; break; case '.jpe': return 'jpg'; break; case '.gif': return 'gif'; break; case '.png': return 'png'; break; case '.bmp': return 'bmp'; break; } } function onlineresize($_FILES, $NovaSirka, $NovaVyska) { switch(get_file_type($_FILES)) { case 'jpg': $image = imagecreatefromjpeg($_FILES); break; case 'gif': $image = imagecreatefromgif($_FILES); break; case 'png': $image = imagecreatefrompng($_FILES); break; case 'bmp': $image = imagecreatefrombmp($_FILES); break; } $sirka = imagesx($image); $vyska = imagesy($image); if($NovaVyska == 0) { $pomer = $sirka / $vyska; $NovaVyska = $NovaSirka / $pomer; } else { $NovaSirka = $NovaSirka; $NovaVyska = $NovaVyska; } if ($NovaSirka == 0) { $pomer = $vyska / $sirka; $NovaSirka = $NovaVyska / $pomer; } else { $NovaSirka = $NovaSirka; $NovaVyska = $NovaVyska; } $image_zmenseny = imagecreatetruecolor($NovaSirka, $NovaVyska); imagecopyresampled($image_zmenseny, $image, 0, 0, 0, 0, $NovaSirka, $NovaVyska, $sirka, $vyska); // Zobrazíme zmenšeninu } //zavolame funkciu a zobrazime obrazok onlineresize($_GET['img'], $_GET['sirka'], $_GET['vyska']); $targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name']; move_uploaded_file($tempFile,$targetFile); echo "1"; } ?>
kde môže byť chyba
|
|
Registrovaný: 28.07.09 Prihlásený: 18.04.13 Príspevky: 145 Témy: 42 | 42 |
robil som už aj upravy, toho čo som sem dal, lebo ten bol určite zle, no ale stale mi to nejde, už fakt neviem kde je chyba, nevypisuje to žiadnu chybu, ale ani to neuploadne, sedel som nad tym už cely den, ale stale som to nespojazdnil, prosim pomôžte
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
Samozrejme ze to nezmensuje,ten script konkretne obrazok sice zmensi, ale hned aj zobrazi a obrazok bere z GET premennych
Vidno tu:
Kód: onlineresize($_GET['img'], $_GET['sirka'], $_GET['vyska']);
Absolutne som to netestoval, v podstate len Copy&Paste odtialto: http://php.vrana.cz/zmensovani-obrazku.phpKód: <?php session_start(); if (!empty($_FILES)) { if(empty($_SESSION['priecinok'])) { $_SESSION['priecinok'] = time().mt_rand(1,9999); }
$tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/' . $_SESSION['priecinok'] . '/'; @mkdir($targetPath);
<?php /** Vrácení rozměrů obrázku po zmenšení * @param string název zmenšovaného souboru * @param int maximální šířka výsledného obrázku, 0 pokud na ní nezáleží * @param int maximální výška výsledného obrázku, 0 pokud na ní nezáleží * @return array ($width, $height) výsledná šířka a výška * @copyright Jakub Vrána, http://php.vrana.cz/ */ function image_shrink_size($file_in, $max_x = 0, $max_y = 0) { list($width, $height) = getimagesize($file_in); if (!$width || !$height) { return array(0, 0); } if ($max_x && $width > $max_x) { $height = round($height * $max_x / $width); $width = $max_x; } if ($max_y && $height > $max_y) { $width = round($width * $max_y / $height); $height = $max_y; } return array($width, $height); }
/** Převzorkování obrázku GIF, PNG nebo JPG * @param string název zmenšovaného souboru * @param string název výsledného souboru * @param int šířka výsledného obrázku * @param int výška výsledného obrázku * @return bool true, false v případě chyby * @copyright Jakub Vrána, http://php.vrana.cz/ */ function image_resize($file_in, $file_out, $width, $height) { $imagesize = getimagesize($file_in); if ((!$width && !$height) || !$imagesize[0] || !$imagesize[1]) { return false; } if ($imagesize[0] == $width && $imagesize[1] == $height) { return copy($file_in, $file_out); } switch ($imagesize[2]) { case 1: $img = imagecreatefromgif($file_in); break; case 2: $img = imagecreatefromjpeg($file_in); break; case 3: $img = imagecreatefrompng($file_in); break; default: return false; } if (!$img) { return false; } $img2 = imagecreatetruecolor($width, $height); imagecopyresampled($img2, $img, 0, 0, 0, 0, $width, $height, $imagesize[0], $imagesize[1]); if ($imagesize[2] == 2) { return imagejpeg($img2, $file_out); } elseif ($imagesize[2] == 1 && function_exists("imagegif")) { imagetruecolortopalette($img2, false, 256); return imagegif($img2, $file_out); } else { return imagepng($img2, $file_out); } }
// použití list($width, $height) = image_shrink_size($_FILES["Filedata"]["tmp_name"], 760, 760); if ($width && $height) { $targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name']; //move_uploaded_file($tempFile,$targetFile); image_resize($_FILES["obrazek"]["tmp_name"], $filename, $width, $height); echo "1"; }
} ?>
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 28.07.09 Prihlásený: 18.04.13 Príspevky: 145 Témy: 42 | 42 |
no nejde to,
ja som to ešte trošku upravil
Kód: <?php session_start(); if (!empty($_FILES)) { if(empty($_SESSION['priecinok'])) { $_SESSION['priecinok'] = time().mt_rand(1,9999); }
$tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/' . $_SESSION['priecinok'] . '/'; @mkdir($targetPath);
/** Vrácení rozměrů obrázku po zmenšení * @param int maximální šířka výsledného obrázku, 0 pokud na ní nezáleží * @param int maximální výška výsledného obrázku, 0 pokud na ní nezáleží * @return array ($width, $height) výsledná šířka a výška */ function image_shrink_size($file_in, $max_x = 0, $max_y = 0) { list($width, $height) = getimagesize($_FILES); if (!$width || !$height) { return array(0, 0); } if ($max_x && $width > $max_x) { $height = round($height * $max_x / $width); $width = $max_x; } if ($max_y && $height > $max_y) { $width = round($width * $max_y / $height); $height = $max_y; } return array($width, $height); }
/** Převzorkování obrázku GIF, PNG nebo JPG * @param string název zmenšovaného souboru * @param string název výsledného souboru * @param int šířka výsledného obrázku * @param int výška výsledného obrázku * @return bool true, false v případě chyby * @copyright Jakub Vrána, http://php.vrana.cz/ */ function image_resize($_FILES, $file_out, $width, $height) { $imagesize = getimagesize($_FILES); if ((!$width && !$height) || !$imagesize[0] || !$imagesize[1]) { return false; } if ($imagesize[0] == $width && $imagesize[1] == $height) { return copy($_FILES, $file_out); } switch ($imagesize[2]) { case 1: $img = imagecreatefromgif($_FILES); break; case 2: $img = imagecreatefromjpeg($_FILES); break; case 3: $img = imagecreatefrompng($_FILES); break; default: return false; } if (!$img) { return false; } $img2 = imagecreatetruecolor($width, $height); imagecopyresampled($img2, $img, 0, 0, 0, 0, $width, $height, $imagesize[0], $imagesize[1]); if ($imagesize[2] == 2) { return imagejpeg($img2, $file_out); } elseif ($imagesize[2] == 1 && function_exists("imagegif")) { imagetruecolortopalette($img2, false, 256); return imagegif($img2, $file_out); } else { return imagepng($img2, $file_out); } }
// použití list($width, $height) = image_shrink_size($_FILES["Filedata"]["tmp_name"], 760, 760); if ($width && $height) { $targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name']; //move_uploaded_file($tempFile,$targetFile); image_resize($_FILES["Filedata"]["tmp_name"], $filename, $width, $height); echo "1"; }
} ?>
ale aj tak to nefunguje, dokonca ani priečinok sa nevytvori
|
|
Registrovaný: 28.07.09 Prihlásený: 18.04.13 Príspevky: 145 Témy: 42 | 42 |
môže sa lock, už som tento problem vyriešil, a funguje to 100%
|
|
Stránka: 1 z 1
| [ Príspevkov: 19 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v JavaScript, VBScript, Ajax | 1 | 587 | 10.04.2009 18:54 Ďuri | | v HTML, XHTML, XML, CSS | 12 | 620 | 11.09.2009 21:43 Johnnny | | v JavaScript, VBScript, Ajax | 4 | 408 | 05.04.2010 19:19 Rech25 | | v JavaScript, VBScript, Ajax | 5 | 778 | 15.11.2007 19:27 M4rek | | v JavaScript, VBScript, Ajax | 0 | 1124 | 26.02.2008 16:15 nestorko | | v JavaScript, VBScript, Ajax | 4 | 542 | 13.11.2010 20:57 DeeJay3 | | v JavaScript, VBScript, Ajax | 10 | 521 | 30.03.2010 13:57 TheRay | | v PHP, ASP | 1 | 757 | 22.12.2006 18:05 Alyx_Vance | | v JavaScript, VBScript, Ajax | 3 | 458 | 13.12.2009 23:40 Romanko | | v JavaScript, VBScript, Ajax | 2 | 418 | 03.11.2010 11:40 DeeJay3 | | v HTML, XHTML, XML, CSS | 7 | 580 | 21.04.2008 18:19 pa3ck | | v PHP, ASP | 3 | 470 | 27.12.2009 21:27 rooobertek | | v PHP, ASP | 5 | 566 | 08.08.2008 9:02 Tominator | | v Počítačové hry | 4 | 1087 | 19.04.2006 15:23 Intelman | | v Operačné systémy Unix a Linux | 1 | 654 | 03.11.2007 8:32 stenley | | v JavaScript, VBScript, Ajax | 10 | 854 | 03.12.2007 23:42 jablko05 |
|