PHP dosya yükleme hata atma tutar

0 Cevap php

Web siteme bir RSA özel anahtarı (. Pem dosyası) yükleme ve içeriğini okumak için fopen ama son zamanlarda ben çok mantıklı yapmadan ve üzerinde aynı hatayı almaya devam ediyorum.

HTML

  <form enctype="multipart/form-data" action="upload.php" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
    Choose a file to upload: <input name="uploaded_file" type="file" />
    <input type="submit" value="Upload" />
  </form> 

Upload.php

<?php
session_start();

if( $_SERVER['SERVER_PORT'] == 80) {
    header('Location:https://'.$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"]); 
    die();
} 



echo $_FILES['uploaded_file']['name'];

//Сheck that we have a file
if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0)) {
  $filename = basename($_FILES['uploaded_file']['name']);
  $ext = substr($filename, strrpos($filename, '.') + 1);
  if (($ext == "pem") && ($_FILES["uploaded_file"]["type"] == "text/plain")) {

$fh = fopen($_FILES['uploaded_file']['name'], 'r');

//continue with code
  } else {
     echo "Error: Only pem files are accepted for upload";
  }
} else {
 echo "Error: No file uploaded";
}
?>

Site hata dönen tutar:

Warning: fopen(mykey.pem) [function.fopen]: failed to open stream: No such file or directory in .... on line 38

(Hangi çizgi fopen edilir). Bu fopen devlete alır gerçeği aslında yüklenme yapar ama fopen bana kanıtlıyor (ayrıca file_get_contents ($ _FILES ['uploaded_file'] ['name']) kullanarak çalıştı; de başarısız) bir hata döndürür.

ne da puh!

FINAL NOTES:

Fopen Sebebi ne olursa olsun, () için OpenSSL sertifikaları okumayı severim ve bir eror verir vermez:

openssl_private_decrypt(): supplied resource is not a valid OpenSSL X.509/key resource

Eğer file_get_contents kullanmak eğer ancak çalışır.

0 Cevap