さまざまな種類のメディアをWebサーバーにアップロードできるようにする簡単なスクリプトを作成しようとしています。これらには、現在のビデオ形式と写真形式が含まれます。私が抱えている問題は、ビデオをアップロードしようとすると、ページのフォームが送信されないように見えることです。のように、送信ボタンをクリックすると、ページがしばらくハングし、送信されていないかのように表示されているフォームに戻ります。
$ max_file_sizeのfileszieを増やしようとしましたが、効果がありませんでした。これが使用された時点に到達していないようです。
また、インターネットで検索したところ、コードの上部にリストされている「ini_set」機能を使用して、PHPフォーム送信の問題を除外することが提案されました。これらは効果がなかったようです。
<?php
ini_set('upload_max_filesize', '45M');
ini_set('post_max_size', '45M');
ini_set('max_input_time', 30000);
ini_set('memory_limit', '45M');
$file_types_array=array("avi", "JPG", "jpeg", "flv", "mpeg", "FLV");
// File Size maximum set in bytes
$max_file_size=35645847;
// Test directory created on the server to allow for uploads
// potential to direct to user spercific areas for secuirty concerns
$upload_dir="uploads\\";
// Holds Unix Time in seconds, used for a unique stamp per upload to
// avoud multiple images/videos having the same ID
$stamp = time();
// Unique User ID - 123 for testing
$UserID = 123;
/* If the form is not submitted, display the form */
if(!isset($_POST["submitted"])){
$form = "<form action='' method='post' enctype='multipart/form-data'>Upload files:<br /><input type='hidden' name='submitted' value='TRUE' id='".time()."'><input type='hidden' name='MAX_FILE_SIZE' value='".$max_file_size."'>";
$form .= "<input type='file' name='file[]'><br />";
$form .= "<input type='submit' value='Upload'><br />Valid file type(s): ";
// Displays the valid file types set in $file_types_array
for($x=0;$x<count($file_types_array);$x++){
if($x<count($file_types_array)-1){
$form .= $file_types_array[$x].", ";
}else{
$form .= $file_types_array[$x].".";
}
}
$form .= "</form>";
echo($form);
}else{
foreach($_FILES["file"]["error"] as $key => $value){
if($_FILES["file"]["name"][$key]!=""){
if($value==UPLOAD_ERR_OK){
$fileID = $_FILES["file"]["name"][$key];
$filename = explode(".", $_FILES["file"]["name"][$key]);
$filenameext = $filename[count($filename)-1];
// Checks for file extension
$file_ext_allow = FALSE;
for($x=0;$x<count($file_types_array);$x++){
if($filenameext==$file_types_array[$x]){
$file_ext_allow = TRUE;
}
}
if($file_ext_allow){
if($_FILES["file"]["size"][$key]<$max_file_size){
$fileWrite = $UserID."_".$stamp.".".$filenameext;
if(move_uploaded_file($_FILES["file"]["tmp_name"][$key], $upload_dir.$fileWrite)){
echo("File uploaded successfully.<br />");
}else{ // Catch for unprepared error
echo($fileID." was not successfully uploaded<br />");
}
}else{ // Catch for File Size too big
echo($fileID." was too big, not uploaded<br />");
}
}else{ // Catch for bad File Name
echo($fileID." had an invalid file extension, not uploaded<br />");
}
}else{ // Successful Output
echo($fileID." was not successfully uploaded<br />");
}
}
}
}
?>
私はこの1つのコードを少し長い間見つめてきましたので、このトピックに関するヘルプをいただければ幸いです。
よろしく、