بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
سورس کد دانلود و آپلود فایل و عکس و pdf از سرور
سلام . سورس کد نقص زیادی داشت ویرایش کردم و اوکی شد اما بی نقص نیست احتمالا در دانلود و آپلود فایل های خیلی حجیم با مشکل مواجه میشود .
Download Files:
<?
// Fetch the file info.
$filePath = getcwd().'/uploads/';
$files1 = scandir($filePath);
//$files1[0] and $files1[1] is not used
$filePath = getcwd().'/uploads/'.$files1[4];
if(file_exists($filePath)) {
$fileName = basename($filePath);
$fileSize = filesize($filePath);
// Output headers.
header("Cache-Control: private");
header("Content-Type: application/zip");
header("Content-Length: ".$fileSize);
header("Content-Disposition: attachment; filename=".$fileName);
// Output file.
readfile ($filePath);
exit();
}
else {
$message = "فایل دانلود نشد مجددا سعی نمایید . با تشکر";
message('fail',$message, false);
exit;
}
?>
-------------------------------------------------------------------------
Upload Files:
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" />
<input type="submit" name="submit" value="submit"/>
</form>
<?
if(isset($_POST['submit']))
{
$temp_name = $_FILES["file"]["tmp_name"]; // get the temporary filename/path on the server
$name = $_FILES["file"]["name"]; // get the filename of the actual file
// Create uploads folder if it doesn't exist.
if (!file_exists("uploads")) {
mkdir("uploads", 0755);
chmod("uploads", 0755); // Set read and write permissions of folder, needed on some servers
}
// Move file from temp to uploads folder
move_uploaded_file($temp_name, "uploads/$name");
chmod("uploads/$name", 0644); // Set read and write permissions if file
echo "فایل با موفقیت آپلود شد";
}
?>
---------------------------------------------------------
Upload Image And PDF :
<!DOCTYPE html>
<html>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
<?
$target_dir = getcwd()."/uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = get_included_files($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is OK - " . $check["mime"] . ".";
br();
$uploadOk = 1;
} else {
echo "File is not an image.";
br();
$uploadOk = 0;
}
}
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
br();
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 5000000) {
echo "Sorry, your file is too large.";
br();
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" && $imageFileType != "pdf" && $imageFileType != "mp3"
&& $imageFileType != "zip" && $imageFileType != "rar") {
echo "Sorry, only JPG, JPEG, PNG , GIF & PDF files are allowed.";
br();
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
br();
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
br();
} else {
echo "Sorry, there was an error uploading your file.";
br();
}
}
?>
+1
0
خیلی ممنونم بابت زحمتی که کشیدید , برای تکمیل کارتون اگر بتونید یک آپلودر با قابلیت Drag & Drop که به صورت اجکسی کار میکنه و دارای قابلیت نمایش یک Progress بار هم باشه و همچنین پیغام های خطا یا موفقیت هم به صورت اجکسی نمایش بده رو بسازید خیلی عالی میشه. همچنین اگر بتونید در نهایت این ماژولی که طراحی میکنید رو به صورت یک فانکشن در بیارید ( مثل کاری که استاد برای Pagination انجام داد ) که با دادن پارامتر ها ورودی اون رو ایجاد کنیم و در جاهای مختلف به راحتی استفاده کنیم و سمت سرور هم توسط یک همچین چیزی هندل بشه خیلی عالی تر میشه. چیز دیگه ای به ذهنم نمیرسه :دی فکر کنم این نهایت آپلودر هست. ( یه آپشن دیگه که همین الان به ذهنم رسید اینه که بتونیم چند تا عکس یا فایل رو یکجا آپلود کنیم و نیازی نباشه دونه دونه آپلود کنیم. ) (9 سال پیش)
0
0
سلام . ممنون . حتما .
برای آپلود چند فایل خود سرور این قابلیت از دایرکت ادمین داره ، در واقع آپلود فایل مهم نیست بنظر بنده مهمترین قسمت دانلود فایل هست اما بصورت امن . کد هایی که مینویسیم حفره زیاد دارن . نظر شما برای ای جکس کاملا قابل تحسین هست . واقعا لایبرری خیلی قوی ، تمیز و سختی داره براحتی نمیشه باهاش کنار اومد . تشکر ، موفق باشید. (9 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .