Autor Zpráva
ZdenekPNJ
Profil
Zdravím všechny,
dodělávám úpravy na nové fotobance s využitím Croppic. Nyní jsem ale narazil naproblém se kterým si již hodiny lámu hlavu. Dál mně nepustí chyba při if (is_uploaded_file($_FILES['prsoubor']['tmp_name'])) předá FALSE.

Nevím čím to je, nahrávám místo type=file pomocí input=text, protože do inputu vkládám přímo url vygenorovaného ořezaného obrázku.

<input type=\"text\" name=\"prsoubortext\" accept=\"image/gif,image/jpeg,image/png\">


Přidal jsem funkci addToFiles, která zajistí převod na $_FILES:

function addToFiles($key, $url)
{
$tempName = tempnam('C:\wamp\tmp', 'php_files');
$originalName = basename(parse_url($url, PHP_URL_PATH));

$imgRawData = file_get_contents($url);
file_put_contents($tempName, $imgRawData);
$_FILES[$key] = array(
'name' => $originalName,
'type' => mime_content_type($tempName),
'tmp_name' => $tempName,
'error' => 0,
'size' => strlen($imgRawData),
);
}

Následně je vloženo je vloženo addToFiles('prsoubor', ''.$GLOBALS["prsoubortext"].'');

-----------------------

Problém je, že když vypíšu Array, je vše OK a soubor se do složky tmp nahraje,
Name: 2016-08-24_12-11-00_Naturhouse_z-naturhousecz.jpg
Type: image/jpeg
tmp_name: C:\wamp\tmp\phpC25.tmp
error: 0
size: 56295

ale is_uploaded_file jej asi nenačte. Nevíte někdo, kde by mohl být problém?
Děkuji za nápady.
TomášK
Profil
is_uploaded_file — Tells whether the file was uploaded via HTTP POST

Jako parametr dáváš soubor, který nebyl nahraný pomocí HTTP POST, tedy vrací false. Chybně předpokládáš, že ta funkce interně používá $_FILES.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: