Autor | Zpráva | ||
---|---|---|---|
msigmund Profil |
#1 · Zasláno: 14. 12. 2009, 16:41:36
Dobrý den, řeším problém s uploadem obrázků.
Mám ve formuláři : <input type="file" name="obr1"> <input type="file" name="obr2"> <input type="file" name="obr3"> A zkoušel jsem napsat podmínku, když uživatel dá jen obr1 a ostatní dvě pole nechá prázdné, aby se nahrál do složky pic jen obr1 a do databáze se uložil název obr1, a místo obr2 a obr3, které jsou prázdné, název obrázku obr-neni.gif,který ve složce pic již mám. Když dám všechny 3 obrázky tak se nahraje jen obr3. if ($obr1 != ""){ $soubor1_t = $_FILES['obr1']['type']; $soubor1 = $_FILES['obr1']['name']; $soubor1_s = $obr_size; $cil1 = "pic/".$soubor1; $nazevSouboru1 = $_FILES['obr1']['tmp_name']; $copy = move_uploaded_file($nazevSouboru1, $cil1) or die ("<font face='TAHOMA' SIZE='2' color='#df3131'>Přenesený soubor č1 nelze zkopírovat</font>"); chmod ($cil1, 0644); $a1 = "$soubor1"; } else { $a1 = "obr-neni.gif"; } if ($obr2 != ""){ $soubor2_t = $_FILES['obr2']['type']; $soubor2 = $_FILES['obr2']['name']; $soubor2_s = $obr_size; $cil2 = "pic/".$soubor2; $nazevSouboru2 = $_FILES['obr2']['tmp_name']; $copy = move_uploaded_file($nazevSouboru2, $cil2) or die ("<font face='TAHOMA' SIZE='2' color='#df3131'>Přenesený soubor č1 nelze zkopírovat</font>"); chmod ($cil2, 0644); $a2 = "$soubor2"; } else { $a2 = "obr-neni.gif"; } if ($obr3 != ""){ $soubor3_t = $_FILES['obr3']['type']; $soubor3 = $_FILES['obr3']['name']; $soubor3_s = $obr_size; $cil3 = "pic/".$soubor3; $nazevSouboru3 = $_FILES['obr3']['tmp_name']; $copy = move_uploaded_file($nazevSouboru3, $cil3) or die ("<font face='TAHOMA' SIZE='2' color='#df3131'>Přenesený soubor č1 nelze zkopírovat</font>"); chmod ($cil3, 0644); $a3 = "$soubor3"; } else { $a3 = "obr-neni.gif"; } Děkuji všem Msigmund. |
||
fopen Profil * |
#2 · Zasláno: 14. 12. 2009, 21:17:48
to je dosť krkolomný upload, da sa to aj jednoduchšie a efektivnejšie:
foreach($_FILES as $File){ if ($File['error']===UPLOAD_ERR_OK){ if(move_uploaded_file($File['tmp_name'], "pic/".$File['name'])==FALSE){ print'File '.$File['name'].' not uploaded. No space left on the device or insufficient privileges?'; }else{ print'File '.$File['name'].' successfully uploaded.'; } }else{ switch ($File['error']){ case UPLOAD_ERR_INI_SIZE: print'The uploaded file exceeds the upload_max_filesize directive in "php.ini" .'; break; case UPLOAD_ERR_FORM_SIZE: print'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.'; break; case UPLOAD_ERR_PARTIAL: print'The uploaded file was only partially uploaded.'; break; case UPLOAD_ERR_NO_FILE: print'No file was uploaded.'; break; case UPLOAD_ERR_NO_TMP_DIR: print'Missing a temporary folder.'; break; case UPLOAD_ERR_CANT_WRITE: print'Failed to write file to disk.'; break; case UPLOAD_ERR_EXTENSION: print'File upload stopped by extension.'; break; default: print'Unknown upload error.'; break; } } } |
||
Alphard Profil |
#3 · Zasláno: 14. 12. 2009, 21:38:07
Doporučuji podívat se na PHP: Uploading multiple files - Manual.
|
||
Časová prodleva: 4 dny
|
|||
msigmund Profil |
#4 · Zasláno: 18. 12. 2009, 09:57:27
Děkuji za radu, ale prosím ještě o pomoc s chmodem.
Ukládá mi to chmod 600 jak do toho zamontovat aby to ukládalo chmod 664. Děkuji. |
||
msigmund Profil |
#5 · Zasláno: 18. 12. 2009, 10:08:31 · Upravil/a: msigmund
Snad jsem to vyřešil.
$cesta = "pic/".$File['name']; $return = chmod($cesta, 0664); |
||
msigmund Profil |
#6 · Zasláno: 18. 12. 2009, 10:30:46
Prosím o pomoc, chmod se přepisuje na 664 i u složky pic.
|
||
Časová prodleva: 14 let
|
0