الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

رفع الصور

بدأه رفيقة السكون في 10 نوفمبر 2008 · 5 رد · 590 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كهذا كود تحميل الصور لا يعمل معي

علما اني قد حاولت استفيذ من المواضيع المطروحة سابقا ولكن لم تحل المشكلة (حيث يرفع اسم الصورة الى db ولكن لايرفع الملف الى السيرفر)

صفحة الكود imageuplaod.php

<?php

//session_start();

// Upload File

$dirname = "nimages";

define(PATH, "../");

$filename = $myfile_name;

$dtypes = "image/gif|image/jpeg|image/pjpeg";

$dtype=explode("|",$dtypes);

$fsize=50000;

$pres="";

$imgdim=200;

$checku=1;

if ($filename != "")

{

if ($myfile_type == $dtype[0] || $myfile_type == $dtype[1] || $myfile_type == $dtype[2])

{

$gimgdim = getimagesize ($myfile);

if ($gimgdim[0] <= $imgdim && $gimgdim[1] <= $imgdim)

{

if ($myfile_size < $fsize)

{

$m_Path=PATH.$dirname."/$filename";

$testExists=file_exists($m_Path);

if ($testExists)

{

$unid=uniqid(rand(1,5));

$Nfilename=$unid.$filename;

$filename=$Nfilename;

copy($myfile, $dirname) or die('<input type="button" name="back" value="BACK" onclick="window.history.back()">');

}

unlink($myfile) or die("<b>Error:</b> could not delete uploaded file.");

$pres="uploading image Successfully";

}

else

{

$fsize1=$fsize/1000;

$pres="Maximum Image size $fsize1 KB";

$checku=0;

include "history.php";

}

} else

{

$pres="Dimensions must be less than 145 X 145";

$checku=0;

include "history.php";

}

} else

{

$pres="Image Type must be ( JPG or GIF )";

$checku=0;

include "history.php";

}

$HTTP_POST_VARS['myfile'] = $filename;

}

?>

تم تعديل هذه المشاركة بواسطة رفيقة السكون في 10 نوفمبر 2008 في 12:22

#2

عزيزتي

جربي استبدال هذا

if ($myfile_size < $fsize)
			{
				$m_Path=PATH.$dirname."/$filename";
				$testExists=file_exists($m_Path);
				if ($testExists)
				{
					$unid=uniqid(rand(1,5));
					$Nfilename=$unid.$filename;
					$filename=$Nfilename;
					copy($myfile, $dirname) or die('<input type="button" name="back" value="BACK" onclick="window.history.back()">');
				}
				unlink($myfile) or die("<b>Error:</b> could not delete uploaded file.");
				$pres="uploading image Successfully";
			}

بهذا

if ($myfile_size < $fsize)
			{
				$m_Path=PATH.$dirname."/$filename";
				$testExists=file_exists($m_Path);
				if ($testExists)
				{
					$unid=uniqid(rand(1,5));
					$Nfilename=$unid.$filename;
					$filename=$Nfilename;
				}
				copy($myfile, PATH.$dirname.'/'.$filename) or die('<input type="button" name="back" value="BACK" onclick="window.history.back()">');
				unlink($myfile) or die("<b>Error:</b> could not delete uploaded file.");
				$pres="uploading image Successfully";
			}

ملاحظة: الداله copy() ليست امنه وغير مفعله في كثير من الاستضافات

بالتوفيق

تم تعديل هذه المشاركة بواسطة DeaD SouL في 10 نوفمبر 2008 في 16:26

أعتذر وبشده عن انقطاعي.. وذلك بسبب مشروعي الجديد

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

100(سبحان الله وبحمده، سبحان الله العظيم) = 0 سيئة

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

dssighg7.png

#3

DeaD SouL شكرا على الرد

عملت استبدال لكن يظهر خطأ

Warning: copy(../nimages/4.jpg) [function.copy]: failed to open stream: Permission denied in

واذا وضعتها كما هي الاولى يتم الاضافة الى قاعدة البيانات لكن لا ترفع الصورة الى السرفر

#4

اولا: هل الدالة move_uploaded_file() امن من copy

ثانيا: جربت هذه الداله ونفس النتيجة يتم اضافة اسم الصورة الى db ولكن لا ترفع للسيرفر

اتمنى ان اجد الحل باسرع وقت

مع الشكر الجزيل

#5

اختي العزيزة..

اقتباس
Warning: copy(../nimages/4.jpg) [function.copy]: failed to open stream: Permission denied in

المشكله بالترخيص.. ان كنتي تستخدمين لينكس افتحي التريمينل واكتبي التالي

chmod 777 [Path/to/nimages]

وان كانت الملفات على الانترنت.. افتحي اي برنامج ftp يدعم التراخيص.. ومن ثم اعطي مجلد ال nimages ترخيص 777

اقتباس
اولا: هل الدالة move_uploaded_file() امن من copy

نعم.. هي أأمن من الcopy()

هذا والله اعلم..

بالتوفيق

أعتذر وبشده عن انقطاعي.. وذلك بسبب مشروعي الجديد

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

100(سبحان الله وبحمده، سبحان الله العظيم) = 0 سيئة

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

dssighg7.png

#6

هذه شيفرة صغيرة لمركز تحميل أتمنى أن تستفيدي منه :

<html>
 <meta http-equiv="Content-Type" content="text/html"; charset="windows-1256">
<head>
  <title></title>
</head>


 <form method="POST" action="<?$PHP_SELF?>?ar=up" enctype="multipart/form-data">
 <input type="file" size="50" name="file" style="\"border-style:; border-style:groove; border-width:2; "groove; border-width: 3"><br>
 <input type="submit" name="submit" value="up it" style="border-style:; border-style:groove; border-width:2; " groove; border-width: 1>

</body>

</html>
<?php
/********************************config**********************************/
$server='';  //your site
$dir_file='/';  //the output folder
$upload_file = $dir_file . basename($file);
$type=array('.jpg','.png','.rar'); //type of the files can be uploaded
$title='';//title of the center
$size='5368709120';

/********************************end config**********************************/
$link=$server.$dir_file.$_FILES['file']['name'];
$get_type=strrchr($_FILES['file']['name'],".");
if($_GET['ar']==up)
{
	 if(in_array($get_type,$type) && !file_exists('up/'.$_FILES['file']['name']))
		{
		 if(copy($file,$dir_file.$_FILES['file']['name']))
			{
			  print "
			   <br><br><br>
			   <table border=\"3\" align=\"center\">
				<tr>
			   <td colspan=\"4\" align=\"center\"><b>File Info</b></td>
			   </tr>
			   <tr>
			   <p style=\"color: #FFFFFF;font-size: 18px;\">
			   <td>name</td>
			   <td>type</td>
			   <td>size</td>
			   <td>Link</td> ";
			  echo "<tr>";
			  echo "<td>".$_FILES['file']['name']."</td>";
			  echo "<td>".$_FILES['file']['type']."</td>";
			  echo "<td>".$_FILES['file']['size']/'1024'."</td>";
			  echo "<td>"."<a href=\"$link\" style=\"text-decoration: none\">".$link."</a>"."</td>";
			  echo "</p>";
			  echo "</tr>";
			  echo "</table>";
			}
		 }
else
{
echo "<p align=\"center\" style=\"color: #0000FF;\"><b>Type Not allowed or The size more then 5Mb or the file already exist</b></p>";
}
}
?>
</td>

</table>

أي شيء غير مفهوم و بمقدوري الإجابة لن أبخل .

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

مواضيع مشابهة