PDA

View Full Version : آپلود نشدن pdf و ... با اسکریپت آپلود php



zanjiran
دوشنبه 03 خرداد 1389, 15:24 عصر
با سلام خدمت اعضای محترم سایت.
یه سوال داشتم درمورد آپلود فایل با php که مدت هاست به جوابش نرسیدم.
من یه برنامه خیلی ساده آپلود فایل با php درست کردم ولی این برنامه هنگامی که می خوام فایل مثلا pdf یا چیز دیگه ای رو آپلود کنم ، آپلود نمی کنه. ولی مثلا عکس و یا فایل txt یا xps رو به خوبی آپلود می کنه. کد ها هم اینا هستن»

<html>
<body>
<form action=ind.php method="post" enctype="multipart/form-data">
<input type="file" name="up"><br>
<input type="submit" value="UPLOAD">
</form>

</body>
</html>

این هم صفحه php»


<html>
<body>
<?php

$path="uploads/".$HTTP_POST_FILES['up']['name'];
$name=$HTTP_POST_FILES['up']['name'];
if($name!=''){
if(copy($_FILES['up']['tmp_name'],$path)){
echo "File Uploaded!<br>";
echo "name:".$HTTP_POST_FILES['up']['name']. "<br>";
echo "type:".$HTTP_POST_FILES['up']['type']. "<br>";
echo "size:".$HTTP_POST_FILES['up']['size']."bytes". "<br>";
echo "<img src='$path' width=150 height=150>";
echo "<input type='text' value='http://localhost/Upload%20Center/$path'>";
}
}else{
echo("Select a file");
}

?>
</body>
</html>

حالا می خوام بدونم که علت چیه و چطور میشه این مشکل رو برطرف کرد.
ضمنا من از طریق کامپیوتر با wamp برنامه رو ویرایش و مشاهده می کنم.
با تشکر.

zanjiran
چهارشنبه 05 خرداد 1389, 12:09 عصر
ممکنه کسی کمک کنه؟

pashaie
چهارشنبه 05 خرداد 1389, 13:31 عصر
کد شما که ظاهرا مشکی نداره!
این کد رو امتحان کن ببین بازم مشکلی پیش میاد؟


<html>
<body>
<form enctype="multipart/form-data" action="ind.php" method="POST">
<input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
</body>
</html>




<?php

$uploaddir = 'uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}

echo 'Here is some more debugging info:';
print_r($_FILES);

print "</pre>";

?>

zanjiran
چهارشنبه 05 خرداد 1389, 16:03 عصر
کد شما که ظاهرا مشکی نداره!
این کد رو امتحان کن ببین بازم مشکلی پیش میاد؟


<html>
<body>
<form enctype="multipart/form-data" action="ind.php" method="POST">
<input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
</body>
</html>




<?php

$uploaddir = 'uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}

echo 'Here is some more debugging info:';
print_r($_FILES);

print "</pre>";

?>


نه متاسفانه کد جواب نداد.
این کد به خودی خود درسته و باید درست عمل کنه. این طور نیست؟

pashaie
چهارشنبه 05 خرداد 1389, 19:25 عصر
این کد به خودی خود درسته و باید درست عمل کنه. این طور نیست؟
بله، اینو از Manual خود php واست نوشتم.
ببینم، حجم فایلای که آپلود میکنی که زیاد نیست؟ php پیش فرض 4 مگ بیشتر نمی زاره آپ لود شه.

یه کاری بکن، تو فایل Php بنویس،

echo $_FILES['userfile']['error'];
ببین چه اروری داره بهت می ده.
اینم لیست ارور های که ممکنه بهت بده:



UPLOAD_ERR_OK
Value: 0; There is no error, the file uploaded with success.

UPLOAD_ERR_INI_SIZE
Value: 1; The uploaded file exceeds the upload_max_filesize directive in php.ini.

UPLOAD_ERR_FORM_SIZE
Value: 2; The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.

UPLOAD_ERR_PARTIAL
Value: 3; The uploaded file was only partially uploaded.

UPLOAD_ERR_NO_FILE
Value: 4; No file was uploaded.

UPLOAD_ERR_NO_TMP_DIR
Value: 6; Missing a temporary folder. Introduced in PHP 4.3.10 and PHP 5.0.3.

UPLOAD_ERR_CANT_WRITE
Value: 7; Failed to write file to disk. Introduced in PHP 5.1.0.

UPLOAD_ERR_EXTENSION
Value: 8; File upload stopped by extension. Introduced in PHP 5.2.0.

zanjiran
پنج شنبه 06 خرداد 1389, 20:45 عصر
من فایل های چند کیلوبایتی می ذارم.
ضمنا ارور خاصی هم ندیدم.
احتمال هم نداره که مشکل از سرور کامپیوتر باشه. چون روی سرور اینترنتی هم که آپلود کردم باز هم همین مشکلات وجود داشت.