語言:PHP /使用Class Upload by Colin Verot
關於:多上傳檢索文件擴展名多個上傳的文件(類上傳,PHP)
下面已經上傳精細,它的工作文件中的代碼...
問題:我無法弄清如何獲取文件名擴展名。
(在下面留言,我指定我的地方問題的區域是......)
// CONNECTION TO DATABASE HERE...
// INCLUDE UPLOAD CLASS LIBRARY
include (dirname(__FILE__).'/lib/class.upload.php');
$files = array();
foreach ($_FILES['fileupload'] as $k => $l)
{
foreach ($l as $i => $v)
{
if (!array_key_exists($i, $files))
$files[$i] = array();
$files[$i][$k] = $v;
$imagename = $_FILES['fileupload']['name'];
}
}
foreach ($files as $file) {
// THIS IS MY PROBLEM AREA, GETTING FILE EXTENSION
$ext=strchr($imagename,".");
$generate_name = rand(100,99999);
$generate_name_extra = rand(200,9999);
$filenamex = "PHOTO_".$generate_name.$generate_name_extra."_".time();
$filenamex_thumb = $filenamex."_thumb";
// COMPLETE FILENAME WITH EXTENSION
$filename = $filenamex.strtolower($ext);
$handle = new upload($file);
if ($handle->uploaded) {
///// 1 ////////////////////////////////////////////////////////////////////
$handle->file_new_name_body = $filenamex_thumb;
$handle->image_resize = true;
$handle->image_x = '300';
$handle->image_ratio_y = true;
$handle->jpeg_quality = '100';
// ABSOLUTE PATH BELOW
$handle->process($absoRoot.'covers/thumbs/');
if ($handle->processed) {
// SUCCESSFUL RESPONSE
}
else
{
// FAILED RESPONSE
}
}
}
而且Web窗體是:
<form method="post" action="upload.php" enctype="multipart/form-data">
<input name="fileupload[]" id="fileupload" type="file" multiple>
我真的非常需要的文件擴展服務文件正確在線,但我無法找到在哪裏找到它。我曾嘗試使用:$files[$i][$k]
而不是$imagename
在我指定的問題區域以及$file
和其他可能的解決方案,但我無法找到哪個人會給我擴展名。
希望有人能指出。感謝您的時間和協助!
這正是我的問題。在我上面的代碼中(我已經發表了評論),我已經顯示了我的*問題區域*,這是分割文件名+擴展名應該發生的地方。事情是,我不明白爲什麼'$ imagename'不起作用。我使用它來進行一次上傳,它可以正常工作,而使用這個實例則不會。 – Mafia
在PHP中,上傳的文件並不總是上傳的文件。嘗試看到有任何錯誤http://stackoverflow.com/questions/10938408/move-uploaded-file/10938669#10938669 –