| Autor | Zpráva | ||
|---|---|---|---|
| Vilak Profil |
#1 · Zasláno: 18. 8. 2016, 19:41:51
Zdravím. Mám udělaný code na nahrávání fotek na web, které mi funguje. A chci k tomu ještě dotvořit to, aby to třeba každou fotku zmenšilo třeba o 50 % a nahrálo ji to do jiné složky (třeba miniatura). Normální code na nahrávání ukážu níže. Jinak jsem už hledal jak to udělat, ale z anglických tutoriálů jsem to - bohužel - moc nepochopil, protože má znalost angličtiny je celkem bídná.
code (dopíšu poznámky): if (isset($_POST['add_photo'])) {
if (!file_exists("../../galerie")) {
mkdir("../../galerie", 0777); // tady by se měly nahrávat normální fotky
}
if (!file_exists("../../miniatury")) {
mkdir("../../miniatury", 0777); // tady miniatury
}
$upload_dir = "../../galerie/";
$suffix = array("jpg", "jpeg", "png", "gif", "ico", "JPG", "JPEG");
$message = "";
include "../prevodni-tabulka.php";
include "../db/db.php";
if (isset($_FILES['images']) && is_array($_FILES['images']['name'])) {
$counter = 0;
$not_uploaded = 0;
$filenames = [];
$filenames1 = [];
$add_message = 1;
$add_message1 = 1;
$suffix = array_flip($suffix);
$url_img = $_SERVER['SERVER_NAME']; // možná je tu pár proměnných zbytečně iniciovaných, protože jsem něco zkoušel a zatím neopravil
foreach ($_FILES['images']['name'] as $key => $name) { // cyklus pro nahrávání fotek
$filename = basename($name);
$tmpname = $_FILES['images']['tmp_name'][$counter];
var_dump($tmpname, $filename)."<br>";
if ($_FILES['images']['error'] == UPLOAD_ERR_NO_FILE) {
$message .= "Nevybrali jste fotky, které chcete nahrát.<br>";
header("Location: ../../galerie.php?message=$message");
}
if (!$_FILES || $_FILES['images']['error'] == UPLOAD_ERR_INI_SIZE) {
$not_uploaded++;
$sum = $counter + $not_uploaded;
if ($sum == sizeof($_FILES['images']['name'])) {
$message .= "Soubor je příliš velký, maximální velikost souboru je " . ini_get('upload_max_filesize') . ".<br>";
}
continue;
}
if (!is_uploaded_file($tmpname) || !isset($suffix[strtolower(pathinfo($filename, PATHINFO_EXTENSION))])) {
$not_uploaded++;
$sum = $counter + $not_uploaded;
if ($sum == sizeof($_FILES['images']['name'])) {
$message .= "Některé soubory obsahují nepovolenou koncovku. Povolené jsou pouze .jpg, .jpeg, .png, .gif a .ico. ";
}
continue;
}
$filename = rand(1000, 9999)."-".rand(10, 99)."-".$filename;
if (move_uploaded_file($tmpname, "{$upload_dir}".DIRECTORY_SEPARATOR."{$filename}")) { // uploadnutí fotky a zápis do DB
$stmt = $conn->prepare("INSERT INTO `images` (`name`, `alt`) VALUES (?, ?)");
$stmt->execute(array(
$filename,
$filename
));
$counter++;
$url1 =
compress_image($_FILES["file"]['tmp_name'], $url1, 50);
}
}
$message .= "Bylo nahráno {$counter} z ".sizeof($_FILES['images']['name'])." obrázků.";
//header("location: ../../galerie.php?message=$message");
}
}Byl bych rád za každou radu. Nevím, čeho se mám chytit. Pokud budete mít otázky, ptejte se. Předem děkuji za odpovědi. :) |
||
| Keeehi Profil |
#2 · Zasláno: 18. 8. 2016, 22:02:11
|
||
|
Časová prodleva: 9 let
|
|||
0